<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-429661781021169683</id><updated>2011-11-28T09:59:19.827-08:00</updated><category term='Cryptography'/><category term='Cache'/><category term='Thread'/><category term='UNC Share'/><category term='SQL 2005'/><category term='Mime Type'/><category term='Web Farm'/><category term='IIS'/><category term='Ajax'/><category term='Compression'/><category term='ASP.NET'/><category term='LDAP'/><category term='Tool'/><category term='Telerik'/><category term='.NET 4.0'/><category term='Active Directory'/><category term='EISA Configuration Removal'/><category term='RadGrid'/><category term='APS.NET'/><category term='Page Life Cycle'/><category term='SDS.AM'/><category term='Performance Problem'/><category term='RadSpell'/><category term='Windows Backup Utilities'/><category term='Database Mail'/><category term='.NET'/><category term='Windows 7'/><category term='NtdsUtil.exe'/><title type='text'>Ping Kwan</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-1966568215005580828</id><published>2011-11-21T09:51:00.000-08:00</published><updated>2011-11-28T09:59:19.840-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNC Share'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Farm'/><title type='text'>IIS 6.0 : Web Farm Share Resources via UNC share</title><content type='html'>1) Create a User Account (eg. "WebFarmUser") in UNC Share server and IIS Servers&lt;br /&gt;&lt;br /&gt;2) Share the folder and set the permission (R and W) to the "WebFarmUser" account.&lt;br /&gt;&lt;br /&gt;3) Assign "WebFarmUser" user account as the account running the App Pool in IIS Server.&lt;br /&gt;&lt;br /&gt;4) Assign the web application to the App Pool&lt;br /&gt;&lt;br /&gt;5) Create a virtual directory to the UNC shared folder.&lt;br /&gt;&lt;br /&gt;6) if you still get the access denied issue, explicitly set the "Connect AS" of the virtual directory to use "WebFarmUser" account.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ASP.NET 2.0 is configured to run with a user account.&lt;/li&gt;&lt;li&gt;The &lt;b&gt;SerializeAs&lt;/b&gt; attribute of the &lt;b&gt;Profile&lt;/b&gt; property in ASP.NET  2.0 is set to &lt;b&gt;Xml&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;In this scenario, ASP.NET 2.0 may not save the user profile, and you may receive  an error message that is similar to the following:&lt;br /&gt;&lt;br /&gt;&lt;div class="kb_errormsgbody"&gt; &lt;div class="kb_errorcontent"&gt; &lt;div class="errormsg"&gt;[InvalidOperationException: Unable to generate a temporary  class (result=1).&lt;br /&gt;error CS2001: Source file 'D:\WINDOWS\TEMP\d0lurtzx.0.cs'  could not be found&lt;br /&gt;error CS2008: No inputs specified&lt;br /&gt;&lt;br /&gt;To resolve this issue, grant the user account the List Folder Contents and Read  permissions on the %windir%\Temp folder.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-1966568215005580828?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/1966568215005580828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2011/11/iis-60-web-farm-share-resources-via-unc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/1966568215005580828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/1966568215005580828'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2011/11/iis-60-web-farm-share-resources-via-unc.html' title='IIS 6.0 : Web Farm Share Resources via UNC share'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-10656157111364286</id><published>2011-10-06T14:10:00.000-07:00</published><updated>2011-10-06T14:16:48.259-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Compression'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><title type='text'>IIS 6.0 Compression</title><content type='html'>&lt;strong&gt;&lt;em&gt;1) Backup the metabase.  &lt;/em&gt;&lt;/strong&gt;This is done by right-clicking on the server in the IIS snap-in and selecting All Tasks -&amp;gt; Backup/Restore Configuration.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;2) Create Compression Folder (optional)&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;The first thing I do is create a folder on the D drive where the  static file compression will be cached. You can call it anything you  want or leave the default of “%windir%\IIS Temporary Compressed Files”  if that works for you. The IUSR_{machinename} will need write permission  to the folder. If you use custom anonymous users, make sure to assign  the proper user. IIS will still work even if the permissions are wrong  but the compression won't work properly. Once running, it's worth double  checking Event Viewer to see if any errors are occurring that keep IIS  Compression from working.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3) Enable Compression in IIS&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;- From the IIS snap-in, right-click on the Web Sites node and click on Properties&lt;br /&gt;- Select the Service tab - Enable &lt;em&gt;Compress application files&lt;/em&gt;&lt;br /&gt;- Enable &lt;em&gt;Compress static files&lt;/em&gt;&lt;br /&gt;- Change Temporary Directory to the folder that you created above, or leave it at it's default&lt;br /&gt;- Set the max size of the temp folder to something that the hard drive can handle. i.e. 1000.&lt;br /&gt;- Save and close the Web Site Properties dialog &lt;/p&gt; &lt;p&gt;Note: The temporary compress directory is only used for static  pages.  Dynamic pages aren't saved to disk and are recreated every time  so there is some CPU overhead used on every page request for dynamic  content.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4) Metabase changes &lt;/strong&gt;&lt;/p&gt;&lt;span class="mediumtext"&gt;To enable metabase edit-while-running using IIS Manager &lt;ol&gt;&lt;li&gt;In IIS Manager, right-click the local computer, and then click Properties.&lt;/li&gt;&lt;li&gt;Select the Enable Direct Metabase Edit check box.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;- Open the metabase located at C:\Windows\system32\inetsrv\metabase.xml in Notepad&lt;br /&gt;- Search for &lt;iiscompressionscheme one="" there="" should="" be="" two="" of="" for=""&gt;&lt;em&gt;deflate &lt;/em&gt;and one for &lt;em&gt;gzip&lt;/em&gt;.  Basically they are two means of compression that IIS supports.&lt;br /&gt;-  First thing to do is add aspx,  asmx, php and any other extension that  you need to the list extensions in HcScriptFileExtensions.&lt;br /&gt;&lt;br /&gt;HcDynamicCompressionLevel has a default value of 0.  Basically this  means at if you did everything else right, the compression for dynamic  contact is at the lowest level.  The valid range for this is from 0 to  10.&lt;br /&gt;&lt;br /&gt;The compression level -vs- CPU usage which showed that the CPU needed  for levels 0 - 9 is fairly low but for level 10 it hits the roof.  Yet  the compression for level 9 is nearly as good as level 10.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5) Restart IIS&lt;br /&gt;&lt;br /&gt;Origianl Post : &lt;a href="http://weblogs.asp.net/owscott/archive/2004/01/12/57916.aspx"&gt;http://weblogs.asp.net/owscott/archive/2004/01/12/57916.aspx&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/iiscompressionscheme&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-10656157111364286?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/10656157111364286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2011/10/iis-60-compression.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/10656157111364286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/10656157111364286'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2011/10/iis-60-compression.html' title='IIS 6.0 Compression'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-5679283270636206649</id><published>2011-10-04T10:13:00.000-07:00</published><updated>2011-10-04T10:14:16.587-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APS.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><title type='text'>Precompile an ASP.NET Web site in place</title><content type='html'>&lt;h3 class="procedureSubHeading"&gt;To precompile an ASP.NET Web site in place&lt;/h3&gt;&lt;div class="subSection"&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Open a command window and navigate to the folder containing the .NET Framework.&lt;/p&gt;&lt;p&gt;The .NET Framework is installed in the following location.&lt;/p&gt;  &lt;div class="codeSnippetContainer"&gt;           &lt;div class="codeSnippetContainerTabs"&gt;         &lt;div class="codeSnippetContainerTab codeSnippetContainerTabSingle" dir="ltr"&gt;&lt;a&gt;other&lt;/a&gt;&lt;/div&gt;     &lt;/div&gt;     &lt;div class="codeSnippetContainerCodeContainer"&gt;         &lt;div class="codeSnippetToolBar"&gt;             &lt;div class="codeSnippetToolBarText"&gt;                 &lt;a name="CodeSnippetCopyLink" title="Copy to clipboard."&gt;Copy&lt;/a&gt;             &lt;/div&gt;         &lt;/div&gt;         &lt;div id="CodeSnippetContainerCode_7d175b70-39bd-4314-b91e-42ab3e570e04" class="codeSnippetContainerCode" dir="ltr"&gt;             &lt;div style="color: Black;"&gt;&lt;pre&gt;%windir%\Microsoft.NET\Framework\version&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;                      &lt;/div&gt;     &lt;/div&gt; &lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;Run the &lt;span class="code"&gt;aspnet_compiler&lt;/span&gt; command by typing the following at a command prompt.&lt;/p&gt;  &lt;div class="codeSnippetContainer"&gt;           &lt;div class="codeSnippetContainerTabs"&gt;         &lt;div class="codeSnippetContainerTab codeSnippetContainerTabSingle" dir="ltr"&gt;&lt;a&gt;other&lt;/a&gt;&lt;/div&gt;     &lt;/div&gt;     &lt;div class="codeSnippetContainerCodeContainer"&gt;         &lt;div class="codeSnippetToolBar"&gt;             &lt;div class="codeSnippetToolBarText"&gt;                 &lt;a name="CodeSnippetCopyLink" title="Copy to clipboard."&gt;Copy&lt;/a&gt;             &lt;/div&gt;         &lt;/div&gt;         &lt;div id="CodeSnippetContainerCode_8fc42174-2311-4716-8296-0f9a356228fa" class="codeSnippetContainerCode" dir="ltr"&gt;             &lt;div style="color: Black;"&gt;&lt;pre&gt;aspnet_compiler -v /virtualPath&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;                      &lt;/div&gt;     &lt;/div&gt; &lt;/div&gt; &lt;p&gt;The &lt;span class="parameter"&gt;virtualPath&lt;/span&gt; parameter indicates the Internet Information Services (IIS) virtual path of your Web site.&lt;/p&gt;&lt;p&gt;If  your Web site is not an IIS application, and therefore has no entry in  the IIS metabase, type the following command at a command prompt.&lt;/p&gt;  &lt;div class="codeSnippetContainer"&gt;           &lt;div class="codeSnippetContainerTabs"&gt;         &lt;div class="codeSnippetContainerTab codeSnippetContainerTabSingle" dir="ltr"&gt;&lt;a&gt;other&lt;/a&gt;&lt;/div&gt;     &lt;/div&gt;     &lt;div class="codeSnippetContainerCodeContainer"&gt;         &lt;div class="codeSnippetToolBar"&gt;             &lt;div class="codeSnippetToolBarText"&gt;                 &lt;a name="CodeSnippetCopyLink" title="Copy to clipboard."&gt;Copy&lt;/a&gt;             &lt;/div&gt;         &lt;/div&gt;         &lt;div id="CodeSnippetContainerCode_daea542d-a1d1-4f92-80d4-683c66201e1a" class="codeSnippetContainerCode" dir="ltr"&gt;             &lt;div style="color: Black;"&gt;&lt;pre&gt;aspnet_compiler -p physicalOrRelativePath -v /&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;                      &lt;/div&gt;     &lt;/div&gt; &lt;/div&gt; &lt;p&gt;In this case, the &lt;span class="parameter"&gt;physicalOrRelativePath&lt;/span&gt;  parameter refers to the fully qualified directory path in which the Web  site files are located, or a path relative to the current directory.  The period (&lt;span&gt;&lt;span class="input"&gt;.&lt;/span&gt;&lt;/span&gt;) operator is allowed in the &lt;span class="parameter"&gt;physicalOrRelativePath&lt;/span&gt; parameter. The &lt;strong&gt;-v&lt;/strong&gt; switch specifies a root that the compiler will use to resolve application-root references (for example, with the tilde (&lt;span&gt;&lt;span class="input"&gt;~&lt;/span&gt;&lt;/span&gt;) operator). When you specify the value &lt;span&gt;&lt;span class="input"&gt;/&lt;/span&gt;&lt;/span&gt; for the &lt;strong&gt;-v&lt;/strong&gt; switch, the compiler will resolve the paths by using the physical path as the root.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-5679283270636206649?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/5679283270636206649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2011/10/precompile-aspnet-web-site-in-place.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/5679283270636206649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/5679283270636206649'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2011/10/precompile-aspnet-web-site-in-place.html' title='Precompile an ASP.NET Web site in place'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-1694552751500753666</id><published>2011-05-12T10:26:00.000-07:00</published><updated>2011-05-13T13:23:48.443-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><title type='text'>Setting Default parameter when opening PDF</title><content type='html'>For example, a scale value of 100 indicates a zoom value of 100%.  e.g. zoom=100&lt;br /&gt;&lt;br /&gt;The file of more details is located on :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf#page=5&amp;amp;zoom=50&amp;amp;scrollbar=0"&gt;http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf#page=5&amp;amp;zoom=50&amp;amp;scrollbar=0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-1694552751500753666?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/1694552751500753666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2011/05/setting-default-parameter-when-opening.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/1694552751500753666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/1694552751500753666'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2011/05/setting-default-parameter-when-opening.html' title='Setting Default parameter when opening PDF'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-1144910772495536152</id><published>2011-05-11T08:49:00.000-07:00</published><updated>2011-05-11T08:51:16.945-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET 4.0'/><title type='text'>How to Disable the ASP.NET v4.0 Extensionless URL feature on IIS 6.0</title><content type='html'>You can disable the v4.0 ASP.NET extensionless URL feature on IIS6 by  setting a DWORD at  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\EnableExtensionlessUrls  = 0.  After changing the value, you will need to restart IIS in order  for us to pick up the change, because it is only read once when IIS  starts.&lt;br /&gt;&lt;br /&gt;Note that for Wow64 (i.e., 32-bit worker process running  on 64-bit OS), this registry key must be set at  HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\4.0.30319.0\EnableExtensionlessUrls.&lt;br /&gt;&lt;br /&gt;Please refere to this URL for details:  &lt;a href="https://blogs.msdn.com/b/tmarq/archive/2010/06/18/how-to-disable-the-asp-net-v4-0-extensionless-url-feature-on-iis-6-0.aspx"&gt;https://blogs.msdn.com/b/tmarq/archive/2010/06/18/how-to-disable-the-asp-net-v4-0-extensionless-url-feature-on-iis-6-0.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-1144910772495536152?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/1144910772495536152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2011/05/how-to-disable-aspnet-v40-extensionless.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/1144910772495536152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/1144910772495536152'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2011/05/how-to-disable-aspnet-v40-extensionless.html' title='How to Disable the ASP.NET v4.0 Extensionless URL feature on IIS 6.0'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-8312312881893928591</id><published>2011-04-29T08:21:00.000-07:00</published><updated>2011-04-29T08:22:35.311-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RadSpell'/><category scheme='http://www.blogger.com/atom/ns#' term='Telerik'/><title type='text'>The way to get control ID from custom Text source of RadSpell</title><content type='html'>Here is the way to get the TextBox ID from the custom text source of RadSpell.&lt;br /&gt;&lt;br /&gt;this.sources[i]&lt;strong&gt;.get_element().id&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-8312312881893928591?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/8312312881893928591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2011/04/way-to-get-control-id-from-custom-text.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/8312312881893928591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/8312312881893928591'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2011/04/way-to-get-control-id-from-custom-text.html' title='The way to get control ID from custom Text source of RadSpell'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-6291039622428401865</id><published>2011-03-14T13:29:00.000-07:00</published><updated>2011-03-14T13:31:09.369-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Save the scroll position when doing Ajax</title><content type='html'>var scrollTop;&lt;br /&gt;        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);&lt;br /&gt;Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);&lt;br /&gt;&lt;br /&gt;function BeginRequestHandler(sender, args)&lt;br /&gt;{&lt;br /&gt;            var elem = document.getElementById('&lt;%= scrollBar.ClientID %&gt;');&lt;br /&gt;            scrollTop=elem.scrollTop;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; function EndRequestHandler(sender, args)&lt;br /&gt; {&lt;br /&gt;            var elem = document.getElementById('&lt;%= scrollBar.ClientID %&gt;');&lt;br /&gt;            elem.scrollTop = scrollTop;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-6291039622428401865?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/6291039622428401865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2011/03/save-scroll-position-when-doing-ajax.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/6291039622428401865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/6291039622428401865'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2011/03/save-scroll-position-when-doing-ajax.html' title='Save the scroll position when doing Ajax'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-7941692938911820988</id><published>2010-11-17T12:44:00.000-08:00</published><updated>2010-11-17T12:56:42.302-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cache'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET with SQL 2005 Cache Dependence</title><content type='html'>&lt;span style="font-weight: bold;"&gt;1) Check to see Service Broker is enabled&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;SELECT name, is_broker_enabled FROM sys.databases&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2) To enable the Service Broker on your database&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ALTER DATABASE Pubs SET ENABLE_BROKER&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3) Inform SQL Server that the user running IIS has permission to subscribe to query notificatoins.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;GRANT SUBSCRIBE QUERY NOTIFICATIONS TO "IIS_SERVER\ASPNET"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4) Create a connectionStrings in the web.config&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;connectionstrings&amp;gt;&lt;br /&gt;   &amp;lt;add name="myDbConnectionString" connectionstring="Data Source=localhost;Initial Catalog=MyDB;Integrated Security=True" providername="System.Data.SqlClient"&amp;gt;&lt;br /&gt;&amp;lt;/connectionstrings&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5) Enable the website to be able to receive notifications.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;protected void Application_Start(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;SqlDependency.Start(ConfigurationManager.ConnectionStrings["myDbConnectionString"].ConnectionString);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The following code also stops the listener:&lt;br /&gt;&lt;br /&gt;protected void Application_End(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;   SqlDependency.Stop(ConfigurationManager.ConnectionStrings["myDbConnectionString"].ConnectionString);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6) Sets up the cach dependency.  Example code.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   string tableName = query.Context.Mapping.GetTable(typeof(T)).TableName;&lt;br /&gt;       List&lt;t&gt; result = HttpContext.Current.Cache[tableName] as List&lt;t&gt;;&lt;br /&gt;&lt;br /&gt;       if (result == null)&lt;br /&gt;       {&lt;br /&gt;           using (SqlConnection cn = new SqlConnection(query.Context.Connection.ConnectionString))&lt;br /&gt;           {&lt;br /&gt;               cn.Open();&lt;br /&gt;               SqlCommand cmd = new SqlCommand(query.Context.GetCommand(query).CommandText, cn);&lt;br /&gt;               cmd.Notification = null;&lt;br /&gt;               cmd.NotificationAutoEnlist = true;&lt;br /&gt;                                   SqlCacheDependencyAdmin.EnableNotifications(query.Context.Connection.ConnectionString);&lt;br /&gt;               if (!SqlCacheDependencyAdmin.GetTablesEnabledForNotifications(query.Context.Connection.ConnectionString).Contains(tableName))&lt;br /&gt;               {&lt;br /&gt;                   SqlCacheDependencyAdmin.EnableTableForNotifications(query.Context.Connection.ConnectionString, tableName);&lt;br /&gt;               }             &lt;br /&gt;        &lt;br /&gt;               SqlCacheDependency dependency = new SqlCacheDependency(cmd);&lt;br /&gt;               cmd.ExecuteNonQuery();&lt;br /&gt;        &lt;br /&gt;               result = query.ToList();&lt;br /&gt;              HttpContext.Current.Cache.Insert(tableName, result, dependency);&lt;br /&gt;           }&lt;br /&gt;       }&lt;/t&gt;&lt;/t&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-7941692938911820988?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/7941692938911820988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2010/11/aspnet-with-sql-cache-dependence.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/7941692938911820988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/7941692938911820988'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2010/11/aspnet-with-sql-cache-dependence.html' title='ASP.NET with SQL 2005 Cache Dependence'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-5414120855563606114</id><published>2010-11-05T08:59:00.000-07:00</published><updated>2010-11-05T09:02:01.811-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005'/><title type='text'>Re-Associate the dbo to sa login after db restored</title><content type='html'>You could use the following SQL script to relink the dbo user of a db to login.&lt;br /&gt;&lt;br /&gt;ALTER AUTHORIZATION ON DATABASE::[db name] TO [login name]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-5414120855563606114?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/5414120855563606114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2010/11/re-associate-dbo-to-sa-login-after-db.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/5414120855563606114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/5414120855563606114'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2010/11/re-associate-dbo-to-sa-login-after-db.html' title='Re-Associate the dbo to sa login after db restored'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-8990878902908216928</id><published>2010-10-27T13:42:00.000-07:00</published><updated>2010-10-27T13:43:56.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cryptography'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><title type='text'>Error : System.Security.Cryptography.CryptographicException: The system cannot find the file specified</title><content type='html'>&lt;span style="font-family:Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ;"&gt;&lt;b&gt; &lt;/b&gt;Change the Identity of the application pool to "NetworkService".&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-8990878902908216928?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/8990878902908216928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2010/10/error-systemsecuritycryptographycryptog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/8990878902908216928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/8990878902908216928'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2010/10/error-systemsecuritycryptographycryptog.html' title='Error : System.Security.Cryptography.CryptographicException: The system cannot find the file specified'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-4123390935619513359</id><published>2010-10-26T09:09:00.000-07:00</published><updated>2010-10-26T09:19:18.407-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><title type='text'>Required components of IIS7.0 for installing SQL Server 2005 on Windows 7</title><content type='html'>&lt;div style="text-align: left;"&gt;When you try to install SQL Server 2005 on Window 7,  you may receive the following warning message for the &lt;strong class="uiterm"&gt;IIS Feature Requirement&lt;/strong&gt; item on the System  Configuration Check page in the SQL Server 2005 Setup program:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="message"&gt;Microsoft Internet Information Services (IIS) is either  not installed or is disabled. IIS is required by some SQL Server  features.  Without IIS, some SQL Server features will not be available  for installation. To install all SQL Server features, install IIS from  Add or Remove Programs in Control Panel or enable the IIS service  through the Control Panel if it is already installed, and then run SQL  Server Setup again. For a list of features that depend on IIS, see  Features Supported by Editions of SQL Server in Books Online.&lt;/div&gt;&lt;br /&gt;This problem occurs because not all the IIS 7.0 components that SQL  Server depends on are installed on the computer. The following table  lists the affected components.&lt;div class="kb_nowrapper"&gt;&lt;div class="kb_nowrapper"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;table class="table" cellspacing="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-weight: bold;"&gt;Component&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;Folder&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: top;"&gt;Static Content&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;Common  HTTP Features&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Default Document&lt;/td&gt;&lt;td&gt;Common HTTP  Features&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;HTTP Redirection&lt;/td&gt;&lt;td&gt;Common HTTP Features&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Directory  Browsing&lt;/td&gt;&lt;td&gt;Common HTTP Features&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ASP.Net&lt;/td&gt;&lt;td&gt;Application  Development&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ISAPI Extension&lt;/td&gt;&lt;td&gt;Application  Development&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ISAPI Filters&lt;/td&gt;&lt;td&gt;Application  Development&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windows Authentication&lt;/td&gt;&lt;td&gt;Security&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;IIS  Metabase&lt;/td&gt;&lt;td&gt;Management Tools&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;IIS 6 WMI&lt;/td&gt;&lt;td&gt;Management  Tools&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-4123390935619513359?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/4123390935619513359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2010/10/required-components-of-iis70-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/4123390935619513359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/4123390935619513359'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2010/10/required-components-of-iis70-for.html' title='Required components of IIS7.0 for installing SQL Server 2005 on Windows 7'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-6481096363196767248</id><published>2010-03-29T09:49:00.001-07:00</published><updated>2010-03-29T09:51:31.443-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Backup Utilities'/><title type='text'>Add Date Time stamp to the Windows Backup File Name</title><content type='html'>1. Use the Windows Backup GUI interface to create a backup job. Make sure to&lt;br /&gt;specify that it should not run now but later.&lt;br /&gt;&lt;br /&gt;2. Open the Task Scheduler, then open the backup job that you just  created.&lt;br /&gt;&lt;br /&gt;3. Mark &amp;amp; copy the whole command line.&lt;br /&gt;&lt;br /&gt;4. Create the new batch file "MyBackup.bat"&lt;br /&gt;&lt;br /&gt;5. Paste the backup command line into it.&lt;br /&gt;&lt;br /&gt;6. Create some blank lines at the top of the file, then paste the  following&lt;br /&gt;code into the empty space.&lt;br /&gt;&lt;br /&gt;@echo off&lt;br /&gt;set MyDate=%date:/=_%_%time::=_%&lt;br /&gt;ntbackup /.. /.. /.. /F d:\Backups\%MyDate%_File_Backup.bkf&lt;br /&gt;&lt;br /&gt;7. Adjust the last line of the above code so that it matches your own&lt;br /&gt;switches, then remove the original Windows Backup command line.&lt;br /&gt;&lt;br /&gt;8. Use the Task Scheduler to create a task that will invoke&lt;br /&gt;"MyBackup.bat" instead of your previous Windows Backup command&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-6481096363196767248?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/6481096363196767248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2010/03/add-date-time-stamp-to-windows-backup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/6481096363196767248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/6481096363196767248'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2010/03/add-date-time-stamp-to-windows-backup.html' title='Add Date Time stamp to the Windows Backup File Name'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-861609426558445652</id><published>2010-02-23T18:16:00.000-08:00</published><updated>2010-11-05T09:03:55.084-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Database Mail'/><title type='text'>SQL 2005 : Database Mail Setup</title><content type='html'>&lt;ol&gt;&lt;li&gt;Enable Database Mail feature via Surface Area Configuration for Features.&lt;/li&gt;&lt;li&gt;In SSMS, Use Database Mail Configuratin Wizard to create account and profile.&lt;/li&gt;&lt;li&gt;Select a default profile.&lt;/li&gt;&lt;li&gt;Create Operator.&lt;/li&gt;&lt;li&gt;If you would use Alert to notifiy operator, enable Mail Profile in Alert system option of SQL Server Agent.&lt;/li&gt;&lt;li&gt;Restart the SQL Server Agent.&lt;/li&gt;&lt;li&gt;You are ready to use Database Mail to notify the operator now.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-861609426558445652?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/861609426558445652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2010/02/sql-2005-database-mail-setup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/861609426558445652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/861609426558445652'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2010/02/sql-2005-database-mail-setup.html' title='SQL 2005 : Database Mail Setup'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-9056817090993575164</id><published>2010-02-23T10:51:00.000-08:00</published><updated>2010-02-23T10:59:13.972-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Page Life Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET Page Events Lifecycle</title><content type='html'>&lt;p&gt;This is for my own reference purpose.  The The original info comes from  : &lt;a href="http://www.blogger.com/The%20original%20info%20is%20at%20:%20http://weblogs.asp.net/ricardoperes/archive/2009/03/08/asp-net-page-events-lifecycle.aspx"&gt;http://weblogs.asp.net/ricardoperes/archive/2009/03/08/asp-net-page-events-lifecycle.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;When using  master pages, the normal page event lifecycle is a little different. Here is the actual order:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Page.OnPreInit&lt;/li&gt;&lt;li&gt;MasterPageControl.OnInit (for each control on the master page)&lt;/li&gt;&lt;li&gt;Control.OnInit (for each contol on the page)&lt;/li&gt;&lt;li&gt;MasterPage.OnInit&lt;/li&gt;&lt;li&gt;Page.OnInit&lt;/li&gt;&lt;li&gt;Page.OnInitComplete&lt;/li&gt;&lt;li&gt;Page.LoadPageStateFromPersistenceMedium&lt;/li&gt;&lt;li&gt;Page.LoadViewState&lt;/li&gt;&lt;li&gt;MasterPage.LoadViewState&lt;/li&gt;&lt;li&gt;Page.OnPreLoad&lt;/li&gt;&lt;li&gt;Page.OnLoad&lt;/li&gt;&lt;li&gt;MasterPage.OnLoad&lt;/li&gt;&lt;li&gt;MasterPageControl.OnLoad (for each control on the master page)&lt;/li&gt;&lt;li&gt;Control.OnLoad (for each control on the page)&lt;/li&gt;&lt;li&gt;OnXXX (control event)&lt;/li&gt;&lt;li&gt;MasterPage.OnBubbleEvent&lt;/li&gt;&lt;li&gt;Page.OnBubbleEvent&lt;/li&gt;&lt;li&gt;Page.OnLoadComplete&lt;/li&gt;&lt;li&gt;Page.OnPreRender&lt;/li&gt;&lt;li&gt;MasterPage.OnPreRender&lt;/li&gt;&lt;li&gt;MasterPageControl.OnPreRender (for each control on the master page)&lt;/li&gt;&lt;li&gt;Control.OnPreRender (for each control on the page)&lt;/li&gt;&lt;li&gt;Page.OnPreRenderComplete&lt;/li&gt;&lt;li&gt;MasterPageControl.SaveControlState (for each control on the master page)&lt;/li&gt;&lt;li&gt;Control.SaveControlState (for each control on the page)&lt;/li&gt;&lt;li&gt;Page.SaveViewState&lt;/li&gt;&lt;li&gt;MasterPage.SaveViewState &lt;/li&gt;&lt;li&gt;Page.SavePageStateToPersistenceMedium&lt;/li&gt;&lt;li&gt;Page.OnSaveStateComplete&lt;/li&gt;&lt;li&gt;MasterPageControl.OnUnload (for each control on the master page)&lt;/li&gt;&lt;li&gt;Control.OnUnload (for each control on the page)&lt;/li&gt;&lt;li&gt;MasterPage.OnUnload&lt;/li&gt;&lt;li&gt;Page.OnUnload&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-9056817090993575164?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/9056817090993575164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2010/02/aspnet-page-events-lifecycle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/9056817090993575164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/9056817090993575164'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2010/02/aspnet-page-events-lifecycle.html' title='ASP.NET Page Events Lifecycle'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-7682379320960300404</id><published>2010-02-19T10:52:00.000-08:00</published><updated>2010-02-19T10:56:20.401-08:00</updated><title type='text'>Steps to install dotProject</title><content type='html'>Add "dp_user" user to the MySQL.&lt;br /&gt;1) Install Apache web server.&lt;br /&gt;&lt;br /&gt;2) Install PHP to your web server.&lt;br /&gt;&lt;br /&gt;PHP should support GD and MySQL&lt;br /&gt;&lt;br /&gt;3) Install MySQL.&lt;br /&gt;&lt;br /&gt;4) Add "dp_user" user to the MySQL.&lt;br /&gt;&lt;br /&gt;5) Create a schema (Database) "dotproject" and assign user "dp_user" has full permission of this DB.&lt;br /&gt;&lt;br /&gt;6) Copy all dotProject files to the htdocs folder.&lt;br /&gt;&lt;br /&gt;    - Open browser to access http://Your Domain/dotProject/install/index.php&lt;br /&gt;&lt;br /&gt;    - follow the step to complete the installation.&lt;br /&gt;&lt;br /&gt;7) The default admin login is :&lt;br /&gt;   &lt;br /&gt;    User Id : admin&lt;br /&gt;    Password : passwd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-7682379320960300404?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/7682379320960300404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2010/02/steps-to-install-dotproject.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/7682379320960300404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/7682379320960300404'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2010/02/steps-to-install-dotproject.html' title='Steps to install dotProject'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-9101002582447903764</id><published>2010-02-19T10:37:00.000-08:00</published><updated>2010-02-19T10:50:06.117-08:00</updated><title type='text'>Prepare SQL 2005 to use CLR</title><content type='html'>1) Turn on the 'clr enabled" feature of your server.&lt;br /&gt;&lt;br /&gt;sp_configure 'clr enabled', 1&lt;br /&gt;GO&lt;br /&gt;RECONFIGURE&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;2) Turn on the Trustworthy property of your database if your clr assembly require access external resources.&lt;br /&gt;&lt;br /&gt;ALTER DATABASE [DB Name]&lt;br /&gt;SET TRUSTWORTHY ON&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-9101002582447903764?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/9101002582447903764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2010/02/prepare-sql-2005-to-use-clr.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/9101002582447903764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/9101002582447903764'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2010/02/prepare-sql-2005-to-use-clr.html' title='Prepare SQL 2005 to use CLR'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-4989267797244740719</id><published>2009-11-22T01:20:00.000-08:00</published><updated>2009-11-22T01:23:55.021-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EISA Configuration Removal'/><title type='text'>Use Diskpart to Remove EISA Partition</title><content type='html'>&lt;ol&gt;&lt;li&gt;Open a command prompt as administrator.&lt;/li&gt;&lt;li&gt;Run Diskpart application by typing &lt;strong&gt;Diskpart&lt;/strong&gt; in the command prompt.&lt;/li&gt;&lt;li&gt;In the “Diskpart” prompt, enter &lt;strong&gt;rescan&lt;/strong&gt; command and press Enter key to re-scan all partitions, volumes and drives available.&lt;/li&gt;&lt;li&gt;Then type in &lt;strong&gt;list disk&lt;/strong&gt; and press Enter key to show all hard disk drive available.&lt;/li&gt;&lt;li&gt;Select the disk that contains the partition you want to remove. So the command will be: &lt;p&gt;&lt;strong&gt;select disk y&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Finish by Enter key. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;Type &lt;strong&gt;list partition&lt;/strong&gt; and press Enter key to show all available and created partition in the disk selected.&lt;/li&gt;&lt;li&gt;Select the partition that wanted to be deleted by using the following command, followed by Enter key: &lt;p&gt;&lt;strong&gt;select partition x&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;where x is the number of the EISA based recovery partition to be removed and unlocked its space. Be careful with the number of this partition, as wrong number may get data wipes off. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;Finally, type in &lt;strong&gt;delete partition override&lt;/strong&gt; and press Enter key.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-4989267797244740719?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/4989267797244740719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2009/11/use-diskpart-to-remove-eisa-partition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/4989267797244740719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/4989267797244740719'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2009/11/use-diskpart-to-remove-eisa-partition.html' title='Use Diskpart to Remove EISA Partition'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-1326744510181065669</id><published>2009-09-23T11:40:00.000-07:00</published><updated>2009-09-23T11:45:24.606-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Thread'/><title type='text'>Caution when upgrade WinService from .NET 1.1 To .NET 2.0</title><content type='html'>When you try to upgrade a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;WinService&lt;/span&gt; from .NET 1.1 to .NET 2.0, Please pay attention at the thread mode.  In .NET 1.1, the default value of the thread mode is background.  However, the default value of the thread mode is changed in .NET 2.0.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;In .NET 2.0, You need to explicitly set the thread mode to background.&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-1326744510181065669?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/1326744510181065669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2009/09/caution-when-upgrade-winservice-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/1326744510181065669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/1326744510181065669'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2009/09/caution-when-upgrade-winservice-from.html' title='Caution when upgrade WinService from .NET 1.1 To .NET 2.0'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-4041966488848415662</id><published>2009-06-09T13:41:00.001-07:00</published><updated>2009-06-09T13:51:47.779-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDS.AM'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Reduce LDAP connection creation</title><content type='html'>I have a problem when my application runs to do a high-volumn LDAP operation.&lt;br /&gt;&lt;br /&gt;This is the original codes. This code creation a lot of TCP port to AD with "TIME WAIT" status.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;private void AddToGroup(UserPrincipal currentUser, GroupPrincipal group)&lt;br /&gt;     {&lt;br /&gt;            using (DirectoryEntry dirEntry = new DirectoryEntry(string.Format("LDAP://{0}/{1}",  group.Context.ConnectedServer, group.DistinguishedName)))&lt;br /&gt;            {&lt;br /&gt;                  dirEntry.Properties["member"].Add(currentUser.DistinguishedName);&lt;br /&gt;   dirEntry.CommitChanges();&lt;br /&gt;   dirEntry.Close();&lt;br /&gt;   dirEntry.Dispose();&lt;br /&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In order to reduce the LDAP connection creation from using SDS.AM.  We could use the GetUnderlyingObject() method to get the corresponding DirectoryEntry object of the UserPrincipal or GroupPrincipal.    Using this way, my application could finish its task without error.  Here is the new codes to do the same thing.&lt;br /&gt;&lt;br /&gt;     &lt;span style="font-size:85%;"&gt;private void AddToGroup(UserPrincipal currentUser, GroupPrincipal group)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;              using (DirectoryEntry gEntry = (DirectoryEntry)group.GetUnderlyingObject())&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;              {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;                     gEntry.Properties["member"].Add(currentUser.DistinguishedName);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;      gEntry.CommitChanges();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;              }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;        }&lt;br /&gt;&lt;br /&gt;Here is a reference from Microsoft.  &lt;a href="http://msdn.microsoft.com/en-us/library/bb924562.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb924562.aspx&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-4041966488848415662?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/4041966488848415662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2009/06/reduce-ldap-connection-creation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/4041966488848415662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/4041966488848415662'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2009/06/reduce-ldap-connection-creation.html' title='Reduce LDAP connection creation'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-8189452631804853124</id><published>2009-06-06T13:53:00.000-07:00</published><updated>2009-06-06T13:56:56.877-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RadGrid'/><category scheme='http://www.blogger.com/atom/ns#' term='Telerik'/><title type='text'>No wrap for Telerik RadGrid cell content</title><content type='html'>&lt;span id="pagetitle"&gt;Put the cell content between &lt;/span&gt;&lt;strong&gt;&amp;lt nobr&amp;gt&amp;lt/nobr&amp;gt&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-8189452631804853124?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/8189452631804853124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2009/06/no-wrap-for-telerik-radgrid-cell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/8189452631804853124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/8189452631804853124'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2009/06/no-wrap-for-telerik-radgrid-cell.html' title='No wrap for Telerik RadGrid cell content'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-5051965989611284479</id><published>2009-06-06T12:13:00.000-07:00</published><updated>2009-06-06T12:24:41.758-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Mime Type'/><title type='text'>Get Mime Type from IIS</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;Except the System.DirectoryServices, I also need to add a reference of &lt;span&gt;com object &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;"Active DS IIS Namespace Provider&lt;/span&gt;" in VS.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;using System.DirectoryServices;&lt;br /&gt;&lt;br /&gt;public static string GetMimeType(string extension)&lt;br /&gt;{&lt;br /&gt;                   string retMimeType = null;&lt;br /&gt;&lt;br /&gt;   using (DirectoryEntry mimeMap = new DirectoryEntry("IIS://Localhost/MimeMap"))&lt;br /&gt;   {&lt;br /&gt;           PropertyValueCollection pValues = mimeMap.Properties["MimeMap"];&lt;br /&gt;&lt;br /&gt;           foreach (object value in pValues)&lt;br /&gt;                      {&lt;br /&gt;                                   IISOle.IISMimeType mimeType = (IISOle.IISMimeType)value;&lt;br /&gt;&lt;br /&gt;                                   if (extension == mimeType.Extension)&lt;br /&gt;                                   {&lt;br /&gt;                                               retMimeType = mimeType.MimeType;&lt;br /&gt;                                   }&lt;br /&gt;                       }&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;              return retMimeType;&lt;br /&gt;}&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-5051965989611284479?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/5051965989611284479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2009/06/get-mime-type-from-iis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/5051965989611284479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/5051965989611284479'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2009/06/get-mime-type-from-iis.html' title='Get Mime Type from IIS'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-6464886537625943054</id><published>2009-05-29T20:06:00.000-07:00</published><updated>2009-05-29T20:09:49.901-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><category scheme='http://www.blogger.com/atom/ns#' term='NtdsUtil.exe'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>LDAP administration limits in Active Directory</title><content type='html'>LDAP Limits In Active Directory From MS.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/315071" target="_blank"&gt;How to view and set LDAP policy in Active Directory by using Ntdsutil.exe&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-6464886537625943054?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/6464886537625943054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2009/05/ldap-administration-limits-in-active.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/6464886537625943054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/6464886537625943054'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2009/05/ldap-administration-limits-in-active.html' title='LDAP administration limits in Active Directory'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-2196336078302515431</id><published>2009-05-29T16:48:00.000-07:00</published><updated>2009-05-29T16:53:47.441-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tool'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Active Directory Performance Testing Tool</title><content type='html'>Here are AD performance testing tool from MS.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=4814fe3f-92ce-4871-b8a4-99f98b3f4338&amp;amp;displaylang=en" target="_blank"&gt;Active Directory Performance Testing Tool&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=52e7c3bd-570a-475c-96e0-316dc821e3e7&amp;amp;displaylang=en" target="_blank"&gt;Active Directory Performance for 64-bit Versions of Windows Server 2003&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-2196336078302515431?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/2196336078302515431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2009/05/active-directory-performance-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/2196336078302515431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/2196336078302515431'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2009/05/active-directory-performance-testing.html' title='Active Directory Performance Testing Tool'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-429661781021169683.post-2647812961325590398</id><published>2009-05-29T16:42:00.000-07:00</published><updated>2009-05-29T17:08:20.176-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Performance Problem'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Troubleshooting Active Directory performance problems</title><content type='html'>Here is some good articles for troubleshooting Active Directory performance problems&lt;br /&gt;&lt;br /&gt;&lt;a href="http://articles.techrepublic.com.com/5100-22_11-6046937.html" target="_blank"&gt;SolutionBase: Troubleshooting Active Directory performance problems&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://articles.techrepublic.com.com/5100-22_11-6046988.html?tag=rbxccnbtr1" target="_blank"&gt;SolutionBase: Discover Active Directory performance problems with Performance Monitor&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/429661781021169683-2647812961325590398?l=pingkwancheung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pingkwancheung.blogspot.com/feeds/2647812961325590398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pingkwancheung.blogspot.com/2009/05/troubleshooting-active-directory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/2647812961325590398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/429661781021169683/posts/default/2647812961325590398'/><link rel='alternate' type='text/html' href='http://pingkwancheung.blogspot.com/2009/05/troubleshooting-active-directory.html' title='Troubleshooting Active Directory performance problems'/><author><name>Ping</name><uri>http://www.blogger.com/profile/15719278239309930394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
