Welcome All
When SubText is configured to host multiple Blogs, you'll see http://blogs.hzsolutions.com/vnd/Default.aspx is fine, but http://blogs.hzsolutions.com/vnd/ will return 404 - Not found error code. The simplest solution here is create a real directory and put inside it an empty Default.aspx page, for example i have to create a folder named vnd in order make http://blogs.hzsolutions.com/vnd/ work !
For more detail, take a look at Shiva Manjunath blog at http://theshiva.us/technicalblog/archive/2006/12/14/subtext-error-solution-fix-404-page-not-found-errors-multiple-blogs.aspx
Latest Posts
You need to make some changes in web.config file in order to get it work.
The easest way is to download an updated web.config here (thanks to ASPone’s wiki).
Matt Williamson have suggest two solutions which both work fine
Solution 1.
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Web;
5: namespace MyProject.WebSite
6: {
7: public class PageBase : System.Web.UI.Page
8: {
9: protected void Page_PreInit(object sender, EventArgs e)
10: {
11: // This is necessary because Safari and Chrome browsers don't display the Menu control correctly.
12: // All webpages displaying an ASP.NET menu control must inherit this class.
13: if (Request.ServerVariables["http_user_agent"].IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) != -1)
14: Page.ClientTarget = "uplevel";
15: }
16: }
17: }
Then make sure all of your pages get inherit from this PageBase.
Solution 2.
1: if (Request.UserAgent.Contains("AppleWebKit")) Request.Browser.Adapters.Clear();
I'm remember that some one have done a smart declarative browser adapting solution which we can control ASP.NET Render to render fine-tuned HTML code for selected Browser in Web.config, but now can't find it back. Please lets me know if you find it around.
Matt Williamson have suggest two solutions which both work fine
Solution 1.
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Web;
5: namespace MyProject.WebSite
6: {
7: public class PageBase : System.Web.UI.Page
8: {
9: protected void Page_PreInit(object sender, EventArgs e)
10: {
11: // This is necessary because Safari and Chrome browsers don't display the Menu control correctly.
12: // All webpages displaying an ASP.NET menu control must inherit this class.
13: if (Request.ServerVariables["http_user_agent"].IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) != -1)
14: Page.ClientTarget = "uplevel";
15: }
16: }
17: }
Then make sure all of your pages get inherit from this PageBase.
Solution 2.
1: if (Request.UserAgent.Contains("AppleWebKit")) Request.Browser.Adapters.Clear();
I'm remember that some one have done a smart declarative browser adapting solution which we can control ASP.NET Render to render fine-tuned HTML code for selected Browser in Web.config, but now can't find it back. Please lets me know if you find it around.
Problems
Compile a Class Library project, you received this error
C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(1993,9): error MSB3091: Task failed because "al.exe" was not found, or the correct Microsoft Windows SDK is not installed. The task is looking for "al.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A. You may be able to solve the problem by doing one of the following: 1) Install the Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5. 2) Install Visual Studio 2008. 3) Manually set the above registry key to the correct location. 4) Pass the correct location into the "ToolPath" parameter of the task. |
Or
C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(1993,9): error MSB3091: Task failed because "sgen.exe" was not found, or the correct Microsoft Windows SDK is not installed. The task is looking for "sgen.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A. You may be able to solve the problem by doing one of the following: 1) Install the Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5. 2) Install Visual Studio 2008. 3) Manually set the above registry key to the correct location. 4) Pass the correct location into the "ToolPath" parameter of the task. |
Solutions
- Copy & paste following to NotePad:
| Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A] "InstallationFolder"="C:\\Program Files\\Microsoft Visual Studio 8\\SDK\\v2.0\\" |
- Then rename the file extention to vsfix.reg.
- Double-click the file you just created then choose "Yes".
- You're done. :)
Some more links I have just know
- http://dukelupus.wordpress.com/2008/02/05/task-failed-because-sgenexe-was-not-found-solution/
- http://wiki.evident.nl/Default.aspx?Page=Task%20failed%20because%20sgen.exe%20was%20not%20found&AspxAutoDetectCookieSupport=1
AOL Instant Messenger (AIM)
AOL Instant Messenger (AIM) ids can be represented using the aim: protocol. Many who publish their AIM ids do so with clickable URLs e.g.:
<a href="aim:goim?screenname=ShoppingBuddy">IM with the AIM ShoppingBuddy</a>
Yahoo Messenger
Similarly, Yahoo Instant Messenger (YIM) ids can be represented using the ymsgr: protocol. And similarly many publish their YIM ids as clickable URLs e.g.:
<a href="ymsgr:sendIM?SomeYahooFriend">IM with SomeYahooFriend</a>
MSN Messenger
MSN Messenger (MSNIM) ids can be represented using the msnim: protocol. And similarly many publish their MSNIM ids as clickable URLs e.g.:
<a href="msnim:chat?contact=joebob@hotmail.com">IM with joebob@hotmail.com</a>
XMPP (Jabber)
Extensible Messaging and Presence Protocol (XMPP) (http://www.xmpp.org/) ids can be represented using the xmpp: protocol, e.g.:
<a class="url" href="xmpp:username@jabberservice.com">IM with username@jammerservice.com</a>
Skype
Skype can be represented using the skype: protocol. It can be used to open a chat session or make a Skype call.
<a href="skype:echo-chinese?chat">IM with the Skype echo service (Chinese) </a>
<a href="skype:echo-chinese?call">Skype call to Skype echo service (Chinese) </a>
ICQ
ICQ does not have a URL scheme. Rather ICQ links on the web use HTTP hyperlinks to download a resource of content-type application/x-icq which then the operating system opens with the user's ICQ client.
Thus we can markup those HTTP hyperlinks with the content-type set explicitly to communicate the ICQ semantic:
<a class="url"
type="application/x-icq"
href="http://www.icq.com/people/cmd.php?uin=[ICQNUMBER]&action=message">
Contact with ICQ</a>
Replacing [ICQNUMBER] with the user's actual ICQ number.

Mike Taulty recently uploaded and amazing collection of Silverlight 2.0 screencasts on how Silverlight works, controls, File IO, networking, UI design, data-binding, interacting with HTML pages, and more.
- Silverlight - Hello World
- Silverlight - Anatomy of an Application
- Silverlight - The VS Environment
- Silverlight - Content Controls
- Silverlight - Built-In Controls
- Silverlight - Width, Height, Margins, Padding, Alignment
- Silverlight - Using a GridSplitter
- Silverlight - Grid Layout
- Silverlight - StackPanel Layout
- Silverlight - Canvas Layout
- Silverlight - Databinding UI to .NET Classes
- Silverlight - Simple Styles
- Silverlight - Custom Types in XAML
- Silverlight - Binding with Conversion
- Silverlight - List Based Data Binding
- Silverlight - Simple User Control
- Silverlight - Templating a Button
- Silverlight - Resources from XAP/DLL/Site Of Origin
- Silverlight - Animations & Storyboards
- Silverlight - Uploads with WebClient
- Silverlight - Downloads with WebClient
- Silverlight - Calling HTTPS Web Services
- Silverlight - Calling Web Services
- Silverlight - Making Cross Domain Requests
- Silverlight - Using HttpWebRequest
- Silverlight - File Dialogs and User Files
- Silverlight - Using Sockets
- Silverlight - Using Isolated Storage
- Silverlight - .NET Code Modifying HTML
- Silverlight - Using Isolated Storage Quotas
- Silverlight - Calling JavaScript from .NET
- Silverlight - Evaluating JavaScript from .NET Code
- Silverlight - Handling HTML Events in .NET Code
- Silverlight - Handling .NET Events in JavaScript
- Silverlight - Calling .NET from JavaScript
- Silverlight - Displaying a Custom Splash Screen
- Silverlight - Passing Parameters from your Web Page
- Silverlight - Loading Media at Runtime
- Silverlight - Dynamically Loading Assemblies/Code
- Silverlight - Reading/Writing XML
- Silverlight - Multiple Threads with BackgroundWorker
- Silverlight - Insert/Update/Delete with the DataGrid
- Silverlight - Getting Started with the DataGrid
- Silverlight - Embedding Custom Fonts

When you share a Folder from a Windows XP machine, you might not able to access to it even you see that computer in it's work group, any time you attempt to access to, you receive a error message like
- \\[SHARE] is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.
- Logon failure: the user has not been granted the requested logon type at this computer
When ran into it, you can consider one of two solution I found from others over Internet. It might help a lot.
Audit Local Security Settings
- On Start Menu>Control Panel>Users, enable Guest user.
- Open Local Security Settings by select Start Menu>Control Panel>Administrative Tools>Local Security Settings
- Navigate to Local Policies>User Rights Assignment
- Right-click on Access this computer from the network>Properties>Add Users or Groups, add everyone or any users you want to be able to access the computer from the network > Add Guest user to this if not exists
- Right-click on Deny access to this computer from the network>Properties, remove everyone or any users you do NOT want denied to be able to access the computer from the network > Remove Guest user from this if exists
Using Windows Server 2003 Resource Kit Tools (Steve Winograd)
- Download and install the Windows 2003 Server Resource Kit Tools
from http://go.microsoft.com/fwlink/?LinkId=4544 . - Click Start | All Programs | Windows Resource Kit Tools | Command Shell.
- Type these lines at the command prompt. The second and third commands are case-sensitive, so type them exactly as shown. Note the "+r" in the second one and the "-r" in the third one:
- net user guest /active:yes
- ntrights +r SeNetworkLogonRight -u Guest
- ntrights -r SeDenyNetworkLogonRight -u Guest
You'll not see "Shutdown" in Start Menu anymore when you are connected to a workstation via Remote Desktop, the "Shutdown" option changes to "Disconnect". If you want to turn off the computer, hibernate it, or put it on stand-by, there are really more than one solution to get thing done
- Open Task Manager, from the main Menu and select your shutdown option under "Shutdown" menu.
- On the desktop and type Alt+F4. This will call up the shutdown dialog.
- And the last way I know is using shutdown utilities from Star->Run command, here are some samples
- "shutdown" to shutdown
- "shutdown -r" to reboot
- "shutdown -i" to get a GUI
- "shutdown -l" to logoff
Off course that all need administrative privileges on the remote computer, you might supply your administrator account by %windir%\system32\runas.exe /user:AdminAcctNameHere "%windir%\system32\shutdown.exe -s "
One of our ASP.NET web application goes to production for months. Last week, we received reports on a few computers , users can't log-in with their correct credentials. We asked them to have administrator control on a computer which problem happen. After make sure that their Browser security, Anti-spyware, Anti-Virus and anything might cause the problem. We have decided install a HTTP traffic monitor tool like IE Web Developer V2 to see what happening on this computer with our website
- The browser requests the specified login.aspx page
- The server responds with the login page
- The user fills in the login page and submits the form, so the browser POST the form back to the login page
- If the credentials are valid, the server responds with another "302 Page Moved" status, a Location header pointing to a protected.aspx, and a Set-Cookie header providing the encrypted Forms Authentication Ticket. Everything seem as it happen on working computer.
- Get redirected to login.aspx page again
Nothing potential caused the problems and we did frustrated after 5 days without able to location is that wrong in client side or server side after
- Replace authentication module by new one
- Setup brand new application to a sandbox
- Review Web server configurations
- And anything we can think to....
Really headache, huh ?
God bless us, when we almost ran out of time and received more bad report from our users, we found why. I'm glad to share you our report on this problems, due to rights have been removed
Introduction
- When user provide correct username/password, Concorde will send them a authentication cookie with Issued date and Expired Date, these date are in GMT time zone.
- In our application, the authentication cookies will be expired in next 30’, as described in timeout attribute of <Forms…> tag of Web.config.
- This cookies is very important in order to authenticate visitor in HTTP stateless environment
Problems
- User can’t login occasionally in few computers, reported seem to be Internet Explorer 6 problems, FireFox and IE 7 are seem to be fine.
- We have re-write code to replace authentication by another alternative methods, but not work.
- Tracing Raw HTTP with some HTTP traffic monitoring tools show that
o Login code work well
o Authentication cookie issued but Internet Explorer seem rejected it without a reason (surely Its not blocked by security policy), cookies appeared and lost ==> YES, this is problem.
- We have check to make sure nothing straight happen to
o Browser, Browser’s security and privacy setting
o Client’s antivirus, firewall, anti-spyware,…
o Evaluating setting of websites, domains, sub-domains, and whole IIS setting, still see nothing.
o Online community doesn’t help at all.
Root cause
- Hopelessly, but how about cookie’s expired time ?
- Follow that idea and found there are something wrong to Cookie expired date, We didn’t really that because the value are in GMT, when client machine are in GMT-7. Convert current time in Server Machine, Client Machine to GMT, It’s clearly that Expired Date of the cookie are in past, and of course that IE will rejected it because it was expired.
- That mean there are something wrong with clocks on Server or Client machine here, but if this bug is occasionally happen, then this client’s clock must be the one wrong, I check out and see that this machine doesn’t auto-syn with Internet time server, that’s is.
- Also noticed that might be this is Daylight-saving problem and found a useful paper at http://support.microsoft.com/kb/934413
Solution
- Change timeout value of authentication cookie from 30 minutes to 120 minutes by change timeout="120" <forms name="XYZAuthentication" protection="All" path="/" loginUrl="~/Login.aspx" slidingExpiration="true" timeout="120" cookieless="UseCookies"/> in Web.config.
- Noticed that will not sure when clock on client machine faster than server machine above 2 hours (120 minutes), then ask end-users to
o Automatically synchronize with an Internet time server as attached screenshot
o Follow Microsoft’s Daylight Saving Time Help at http://support.microsoft.com/dst2007
- The Visual Studio 2008 and .NET Framework 3.5 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2008 features and a variety of framework technologies including: LINQ, C# 3.0, Visual Basic 9, WCF, WF, WPF, ASP.NET AJAX, VSTO, CardSpace, SilverLight, Mobile and Application Lifecycle Management.
- The .NET Framework 3.5 Enhancements Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the .NET 3.5 Enhancement features including: ASP.NET MVC, ASP.NET Dynamic Data, ASP.NET AJAX History, ASP.NET Silverlight controls, ADO.NET Data Services and ADO.NET Entity Framework.
- Visual Studio 2008 and .NET Framework 3.5 Training Kit
- .NET 3.5 Enhancements Training Kit
When you write a custom Membership provider, you might need to know timeout value of authentication form which declared in Web.config tto fullfil to your custom authentication ticket
Solution #1
<asp:TemplateField>
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
Why Validation Controls Don't Work ?
Found on http://www.myonlyblog.com/2007/07/modalpopup-validation-controls-dont.html:
"The solution, it turned out is REAL simple, don't use either the OkControlID or OnOkScript. Basically you don't need the OkControlID or OnOkScript to be set unless you plan on doing some processing on the client side, this was why I was not firing the validation controls, I was posting back first because I had both of these set."
Keep the ModalPopupExtender open when something wrong in Server processing
For example, you lets user to enter a data entry form in a ModalPopupExtender (something like Matt Berseth 's work at http://mattberseth.com/blog/2008/04/masterdetail_with_the_gridview.html), and you want to notify user if something wrong and data couldn't be saved properly and keep the ModalPopupExtender open, just all ModalPopupExtender.Show() in catch block of your try...catch statement.
Anyway, if you like http://mattberseth.com/blog/2008/04/masterdetail_with_the_gridview.html, you must read his bug fix http://mattberseth.com/blog/2008/05/bug_bashbuttoncausesvalidation.html too !
(bài viết này chỉ để tham khảo thêm khi mua máy , không nặng về tính kỹ thuật của từng loại Card màn hình)
Khi máy tính xử lý các tác vụ đồ họa nặng như chơi game hoặc chỉnh sửa video thì các thông tin cần thiết cho việc hiển thị hình ảnh sẽ được lưu trữ tạm trong bộ nhớ RAM của bo mạch đồ họa (Video RAM). Những tác vụ hay game càng nặng nề thì lượng bộ nhớ cần thiết phải càng nhiều. Bo mạch đồ họa loại cũ có dung lượng bộ nhớ từ 32 tới 64 MB, dòng bo mạch tầm trung có dung lượng từ 64 tới 128 MB và các mẫu cao cấp (với giá cao hơn) có bộ nhớ từ 128 tới 256 hoặc 512M . Bộ nhớ 32 MB đáp ứng tốt các nhu cầu văn phòng, trong khi 64 MB có thể xem là đủ để chơi một số game thuộc loại cũ, nhưng thường không đủ đáp ứng các game mới khi chạy ở độ phân giải trên 1600 x 1200 pixel. Do đó, với các game 3D mới cũng như công việc xử lý đồ họa - phim ảnh cao cấp, bạn nên chọn bo mạch đồ họa với dung lượng bộ nhớ tối thiểu là 128 MB.
Cũng cần nhắc đến các loại bo mạch đồ họa tích hợp sẵn trên mainboard (thường gọi là card onboard), loại này chia sẻ bộ nhớ RAM của hệ thống để sử dụng cho đồ họa. Nhìn chung, việc chia sẻ này làm giảm tổng hiệu năng của hệ thống nhưng lại tạm đủ cho các tác vụ đơn giản. Vì vậy đây không phải là sự lựa chọn tốt cho các game thủ, người làm công việc thiết kế và xử lý phim ảnh
ĐIỀU BĂN KHOĂN LÀ CARD MÀN HINH NÀO THÍCH HỢP VỚI CÔNG VIỆC CỦA MÌNH VÀ CHẤT LƯỢNG, GIÁ CẢ, CARD CỦA HÃNG NÀO THÌ TỐT HƠN...
Hiện nay, hai "đại gia" về chip xử lý đồ họa là nVIDIA (geforce)và ATI(radeon) chiếm phần lớn thị trường thông qua nhiều nhà sản xuất thứ ba như Asus, Abit, Albatron, Gigabyte... Dòng cao cấp của ATI thường được ký hiệu XT hay Pro sau tên sản phẩm, còn cấp thấp là SE. Ví dụ đối với ATI RADEON 9800 thì tốc độ và hiệu năng sẽ được sắp xếp giảm dần theo
RADEON 9800XT, RADEON 9800Pro, RADEON 9800SE. Đối với nVIDIA, thứ tự lại là
Ultra/Ti/Pro/SE và XT.và
G->GS->GT->GTScho Laptop. Hãy chú ý ký hiệu XT đối với ATI thể hiện sự cao cấp, còn với nVIDIA lại là dòng rẻ tiền nhắm vào thị trường cấp thấp. nVIDIA chỉ tập trung vào sản xuất GPU (Graphic Processing Unit, bộ xử lý đồ họa), nên 100% card là của những hãng thứ ba. Còn ATI vừa sản xuất card, vừa bán GPU của mình cho các nhà sản xuất khác nên có nhiều lựa chọn hơn. Vì thế, các card AGP sử dụng GPU ATI được phân làm hai loại: BBA (Built by ATI, card do chính ATI sản xuất và bảo hành) và PBA (Powered by ATI, card do các hãng khác sản xuất với GPU ATI).
SHARE RAM TRÊN CARD MÀN HÌNH RỜI:
Hiện ATI đang sữ dụng công nghệ Hyper Memory và NVIDIA sử dụng TurboCAche để share thêm RAM từ bộ nhớ chính cho card màn hình rời.
- HYPERMEMORY : loại này thường dễ xác định. Số RAM share sẽ bằng số RAM có sẵn trên card. Ví dụ 1 card VGA của ATI ghi: "256MB ATI Mobility Radeon X1400 HyperMemory” ta sẽ biết nó gồm 128Mb trên card + 128 MB share từ mainmemory.
-
TURBOCACHE: loại này tương đối khó xác định (có thể phải dùng phần mềm kiểm tra mới biết đích xác). Thí dụ 1 card VGA của NVIDIA ghi: "256MB Nvidia GeForce Go7400 TurboCache" thì có thể là share phân nữa như ATI (128 + 128), nhưng cũng có thể là share tới 3/4 (tức là 64 Mb trên card + 192Mb từ mainmemory)
Card Geforce khá nhiều nhà nhập khẩu laptop Việt Nam chọn để nhập về. Các dòng card rời như : 8400, 8400GT, 8600, 8600GS, 8600GT, 8700... và các bạn đang phân vân về dung lượng và sự khác nhau của nó.
dưới đây là những dòng Card đồ họa hỗ trợ DirectX 10 mới nhất: NVIDIA GeForce 8, ATI HD2xx
NVIDIA GEFORCE

GeForce 8400: bao gồm GeForce 8400M G, GeForce 8400M GS, GeForce 8400M GT
Thông số kĩ thuật:
Stream Processors: 16 (8400M G chỉ có 8)
Xung nhân: 400 MHz (8400M GT tới 450 MHz)
Shader Clock: 800 MHz (8400M GT tới 900 MHz)
Xung nhớ: 600 MHz
RAM: 256 MB (8400M GT tới 512 MB)
Giao tiếp bộ nhớ: 64-bit (riêng 8400M GT là 128-bit)
Băng thông: 9.6 GB/s (riêng 8400M GT 19.2 GB/s)
GeForce 8600: bao gồm GeForce 8600M GS, GeForce 8600M GT
Thông số kĩ thuật
Stream Processors: 16 (8600M GT tới 32)
Xung nhân: 600 MHz (8600M GT chỉ có 475 MHz)
Shader Clock: 1200 MHz (8400M GT chỉ có 950 MHz)
Xung nhớ: 700 MHz
RAM: 512 MB
Giao tiếp bộ nhớ: 128-bit (riêng 8400M GT là 128-bit)
GeForce 8700M: chỉ có một đại diện duy nhất là GeForce 8700M GT
chết thèm với chú này hic hic!!
Thông số kĩ thuật
Stream Processors: 32
Xung nhân: 625 MHz
Shader Clock: 1250 MHz
Xung nhớ: 800 MHz
RAM: 512 MB
Giao tiếp bộ nhớ: 128-bit
ATI RADEON
ATI Mobility Radeon X2300
ATI Mobility Radeon HD 2300
ATI Mobility Radeon HD 2400
ATI Mobility Radeon HD 2400XT
ATI Mobility Radeon X2500
ATI Mobility Radeon HD 2600
ATI Mobility Radeon HD 2600 XT
Để dễ dàng so sánh hơn. Các bạn vào link này tìm hiểu thêm
http://www.notebookcheck.net/Mobile-Graphi...List.844.0.html
6 phần mềm miễn phí không thể thiếu cho chỉnh sửa ảnh số
Những phần mềm vượt trội sau sẽ giúp bạn chỉnh sửa hiệu quả kho ảnh số của mình mà không cần tốn nhiều công sức, và không cần bỏ ra nhiều tiền bởi đa phần các chương trình là miễn phí.
Bạn cần "làm sạch" ảnh, xóa hiệu ứng mắt đỏ, chỉnh sửa gamma, hay bổ sung các hiệu ứng đặc biệt? Có rất nhiều phần mềm có khả năng thực hiện điều này. Các ứng dụng sau dành cho cả đối tượng amateur lẫn chuyên nghiệp.
1. The Gimp:
Phần mềm nguồn mở này được thiết kế khá tốt, trình bày tập trung và hoàn toàn miễn phí. Gimp có một số tính năng rất mạnh có thể sánh cùng với Photoshop, bao gồm các bộc lọc, hiệu ứng, mask và lớp. Dĩ nhiên, chương trình này cũng có các công cụ cơ bản dành cho một trình chỉnh sửa ảnh, chẳng hạn như sửa hiệu ứng mắt đỏ. Nếu bạn đang tìm kiếm một chương trình chỉnh sửa ảnh chuyên nghiệp mà không cần đầu tư cho cả một gói ứng dụng, hoặc ko muốn trả tiền, thì Gimp sẽ rất thích hợp cho bạn.
download. Giá: Miễn phí
2. XnView:
Khi đã quen với các chương trình chỉnh sửa ảnh, thì không có gì tốt hơn là một phần mềm miễn phí, đặc biệt là ứng dụng đó lại có nhiều công cụ chỉnh sửa ảnh như XnView. Bạn có thể điều chỉnh kích thước, chỉnh hiệu ứng mắt đỏ, xoay, trượt, và thực hiện nhiều tác vụ chỉnh ảnh như độ sáng, tương phản, và gamma. Chương trình này còn có thể chuyển ảnh sang nhiều định dạng ảnh khác nhau. XnView không phải là một công cụ mạnh như Gimp nhưng ít nhất nó cũng có những tính năng cần thiết nhất, và ngoài ra nó hoàn toàn miễn phí.
download. Giá: Miễn phí
3. Image Resizer:
Bạn cần một chương trình có thể chỉnh kích cỡ hàng loạt ảnh một cách nhanh chóng? Hãy sử dụng trình miễn phí rất dễ sử dụng này của Microsoft trong gói PowerToy. Nhấn chuột phải vào một ảnh hoặc một nhóm ảnh, rồi chọn chế độ Resize Pictures, bạn sẽ có thể chỉnh lại kích cỡ ảnh theo các định dạng: Nhỏ (640x480 pixel), Trung bình (800x600 pixel), Lớn (1024x768 pixel), hoặc Handheld PC (240x320 pixel).
Khi lựa chọn ảnh và nhấn OK, chương trình sẽ chỉnh sửa ảnh sang kích cỡ khác trong khi vẫn giữ nguyên ảnh gốc. Nếu bạn nhấn vào nút Advanced trước khi nhấn OK, bạn có thể chỉnh sửa ảnh gốc thay vì copy chúng.
download. Giá: Miễn phí
4. FxFoto 2.0:
Lại là một chương trình miễn phí khác nhưng khả năng chỉnh sửa ảnh lại mạnh đến mức ngạc nhiên. Các tính năng của FxFoto 2.0 có rất nhiều: loại bỏ hiệu ứng mắt đỏ, chỉnh độ sáng, tương phản, gamma, cân bằng màu, hiệu ứng bộ lọc, loại bỏ vết nhơ tự động, vẽ, nhân bản, bổ sung frame, tạo viền...
Giao diện làm việc của FXFoto 2.0 cũng rất tuyệt, nó tạo một thư viện ảnh ngay phía dưới (bên trái) màn hình để bạn có thể dễ dàng kéo xuyên suốt và tìm chính xác tấm ảnh bạn muốn. Khi đã chỉnh sửa ảnh xong, bạn có thể tạo slideshow với các hiệu ứng chuyển đổi chuyên nghiệp. Ngoài ra, chương trình còn cho phép tạo ảnh nghệ thuật, và có những công cụ chia sẻ ảnh qua e-e-mail, upload lên site chia sẻ hoặc ghi vào đĩa CD.
download. Giá: Miễn phí
5. Roxio Media Ticker
Nếu bạn muốn một kiểu trình diễn ảnh dạng trượt ngang qua màn hình desktop, hay muốn trang trí ảnh cho những người khác xem thông qua trang chia sẻ Flickr thì Roxio Media Ticker sẽ là lựa chọn đúng đắn.
Chương trình có thể tạo thanh trượt dành cho ảnh để bạn có thể đặt chúng ở bất kỳ nơi nào trên màn hình desktop. Ảnh có thể là ảnh từ ổ cứng, từ RSS feed, hoặc từ ảnh upload lên Flickr. Khi di chuột qua bất cứ ảnh nào bạn đều nhìn thấy thông tin mô tả. Khi nhấn đúp vào ảnh, nó sẽ hiển thị to hơn trên màn hình, để từ đó bạn có thể in ảnh, e-mail, xoay chuyển, hoặc tạo ảnh nền...
download. Giá: Miễn phí.
6. Photoscape
Photoscape là một ví dụ khác về phần mềm tuy miễn phí nhưng lại có đầy đủ chức năng, từ xem ảnh, chỉnh ảnh, tạo slideshow, chỉnh sửa nhiều file cùng lúc, chụp màn hình... Ứng dụng này còn có các công cụ cải tiến khác, chẳng hạn như nối nhiều ảnh thành một khung hình, hoặc import file ảnh RAW và chuyển đổi thành ảnh .JPEG.
Mặc dù chương trình trình miễn phí nhưng Photoscape vẫn có cơ chế ủng hộ tài chính cho tác giả nếu người dùng muốn.
- Localizing process (from Michèle Leroux Bustamante)
- Design pages by applying a combination of static HTML and ASP.NET server controls.
- Prepare static areas for localization by wrapping them with the ASP.NET Localize control.
- Provide proper control names to all server controls so that generated event handlers and resource keys can be easily recognized.
- Create shared resources in the App_GlobalResources subdirectory. These can be .resx files that already exist, or new .resx files created to hold terms that will be shared across several pages.
- Associate shared resources with control properties using explicit resource expressions, where appropriate. It is best to do this before generating local resources for the page.
- Generate local resources while in Page Design view by selecting the Generate Local Resource menu item.
- Video How Do I: Create a Multi-Lingual Site with Localization? from ASP.NET 2.0 "How Do I" video series of Scott Stansfield
- Tutorials
- Advanced
- To be continuing...
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'YOUR_TABLE')
DROP TABLE ''YOUR_TABLE'
will NOT work because SQL CE are not support that IF EXISTS statement in this case, how awful ?