<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Note to self</title><link>http://blogs.msdn.com/lucascan/default.aspx</link><description>Ramblings of a .NET Developer / IT Generalist.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Skip buttons weren't working after installing Win7 RC</title><link>http://blogs.msdn.com/lucascan/archive/2009/05/23/skip-buttons-weren-t-working-after-installing-win7-rc.aspx</link><pubDate>Sat, 23 May 2009 08:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9636780</guid><dc:creator>lucascan</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/9636780.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=9636780</wfw:commentRss><description>&lt;P&gt;After installing Win7 RC on my production Media Center box (ie the box I literally can't watch TV without) I noticed an annoying problem.&lt;/P&gt;
&lt;P&gt;The skip forward &amp;amp; back buttons didn't work!&lt;/P&gt;
&lt;P&gt;At first I feared the issue was&amp;nbsp;an intended "by design" change.&amp;nbsp; After all, I'm sure&amp;nbsp;the commercial TV networks don't like us skipping over their ads.&amp;nbsp; Fortunately, it seems&amp;nbsp;it's a compatibility&amp;nbsp;issue between Win7 RC and my IR receiver (in case, Zalman HD160, IRTrans).&lt;/P&gt;
&lt;P&gt;The solution:&lt;/P&gt;
&lt;P&gt;Map the IR codes to the keyboard equivalents for the skip buttons via the following changes in %ProgramFiles%\IRTrans\remotes\apps.cfg.&lt;/P&gt;
&lt;P&gt;[APP]MEDIACENTER&lt;/P&gt;
&lt;P&gt;NEXT [KEY]\CTRLF&lt;BR&gt;PREV [KEY]\CTRLB&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9636780" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/Windows7/default.aspx">Windows7</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/Media+Center/default.aspx">Media Center</category></item><item><title>Building a Win7/2008 R2 box that boots off .vhd's</title><link>http://blogs.msdn.com/lucascan/archive/2009/05/23/building-a-win7-2008-r2-box-that-boots-off-vhd-s.aspx</link><pubDate>Sat, 23 May 2009 08:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9636737</guid><dc:creator>lucascan</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/9636737.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=9636737</wfw:commentRss><description>&lt;P&gt;A&amp;nbsp;cool new feature in Windows7 &amp;amp; Server 2008 R2 is the ability to&amp;nbsp;boot from a .vhd file!&lt;/P&gt;
&lt;P&gt;Having your OS isolated to a .vhd file has a number of advantages including but not limited to:&lt;BR&gt;- easier to backup, &lt;BR&gt;- multi-boot scenarios that are more isolated from each other,&lt;BR&gt;- ability to trial new builds on your physical hardware without trashing your existing installation.&lt;/P&gt;
&lt;P&gt;Whilst there's a variety of ways that boot from .vhd can be achieved, here's the steps I've used.&amp;nbsp; Note, I deliberately tried to avoid the installation GUI by doing part of the install via the WinPE command line.&amp;nbsp; It's possible to automate the remainer of the installation process via an unattend.xml file.&amp;nbsp; However, that's a potential topic for a future blog post.&lt;/P&gt;
&lt;P&gt;1) Install the Windows AIK.&lt;/P&gt;
&lt;P&gt;Windows® Automated Installation Kit (AIK) for Windows® 7 RC&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=60a07e71-0acb-453a-8035-d30ead27ef72" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=60a07e71-0acb-453a-8035-d30ead27ef72"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=60a07e71-0acb-453a-8035-d30ead27ef72&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;2) Create bootable WinPE media (DVD or USB key) and include imagex.exe from the AIK on it.&lt;/P&gt;
&lt;P&gt;Windows PE Walkthroughs&lt;BR&gt;&lt;A href="http://technet.microsoft.com/en-us/library/dd799278(WS.10).aspx" mce_href="http://technet.microsoft.com/en-us/library/dd799278(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/dd799278(WS.10).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;3) (optional) Include the install.wim from your desired Windows installation media on your WinPE media.&amp;nbsp; Alternatively, I suppose you can always refer to the original installatiom media instead.&lt;/P&gt;
&lt;P&gt;4) Boot off your WinPE media then run the following DISKPART commands (possible to script this via DISKPART /s)&lt;/P&gt;
&lt;P&gt;select disk 0&lt;BR&gt;clean&lt;BR&gt;create partition primary size=100&lt;BR&gt;format quick fs=ntfs label=System&lt;BR&gt;assign letter=s&lt;BR&gt;active&lt;BR&gt;create partition primary&lt;BR&gt;format quick fs=ntfs label=Data&lt;BR&gt;assign letter=d&lt;BR&gt;create vdisk file=d:\win7rc.vhd type=fixed maximum=10240&lt;BR&gt;attach vdisk&lt;BR&gt;select disk 1&lt;BR&gt;create partition primary&lt;BR&gt;format quick fs=ntfs label=OS&lt;BR&gt;assign letter=c&lt;BR&gt;exit&lt;/P&gt;
&lt;P&gt;5) Extract the Windows image to your .vhd and copy the necessary boot file to your system partition.&lt;/P&gt;
&lt;P&gt;imagex /apply w7rc_x86.wim 5 c:&lt;BR&gt;bcdboot c:\windows /s s:&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;*** START OF UPDATE 7-Aug-2009 ***&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3 face=Calibri&gt;You *might*&amp;nbsp;need the following also.&amp;nbsp; I don't recall doing this when I originally posted this however I needed this in a recent attempt.&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3 face=Calibri&gt;bcdedit /store &lt;I&gt;drive:&lt;/I&gt;\boot\bcd /set {guid} device vhd=[locate]\win7rc.vhd&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;bcdedit /store &lt;I&gt;drive:&lt;/I&gt;\boot\bcd /set {guid} osdevice vhd=[locate]\win7rc.vhd&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Where &lt;I&gt;drive:&lt;/I&gt; is the system partition.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;*** END OF UPDATE 7-Aug-2009 ***&amp;nbsp;&lt;/P&gt;
&lt;P&gt;exit&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your system will reboot and proceed with installation.&amp;nbsp; For those that are keen to automate the remainder of the installation, here's a link to the relevant info:&lt;/P&gt;
&lt;P&gt;Step-by-Step: Basic Windows Deployment for IT Professionals&lt;BR&gt;&lt;A href="http://technet.microsoft.com/en-us/library/dd349348(WS.10).aspx" mce_href="http://technet.microsoft.com/en-us/library/dd349348(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/dd349348(WS.10).aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9636737" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/Windows7/default.aspx">Windows7</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/Virtualization/default.aspx">Virtualization</category></item><item><title>SQL updates failing on WSS Developer VM</title><link>http://blogs.msdn.com/lucascan/archive/2009/05/15/sql-updates-failing-on-wss-developer-vm.aspx</link><pubDate>Sat, 16 May 2009 00:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9619929</guid><dc:creator>lucascan</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/9619929.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=9619929</wfw:commentRss><description>&lt;P&gt;I noticed SQL updates (KB960089 but also SQL SP3) were failing to apply on the WSS Developer VM.&lt;/P&gt;
&lt;P&gt;After many hours of frustration, I located this great blog post that helped me to overcome the issue:&lt;BR&gt;&lt;A href="http://blogs.msdn.com/sqlserverfaq/archive/2009/01/30/part-1-sql-server-2005-patch-fails-to-install-with-an-error-unable-to-install-windows-installer-msp-file.aspx"&gt;http://blogs.msdn.com/sqlserverfaq/archive/2009/01/30/part-1-sql-server-2005-patch-fails-to-install-with-an-error-unable-to-install-windows-installer-msp-file.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;In my case, the missing .msi's were from SQL Developer edition.&amp;nbsp; The missing .msp's were from SQL SP2 &amp;amp; KB948109.&lt;/P&gt;
&lt;P&gt;Here's the download location for SQL KB948109:&lt;BR&gt;&lt;A href="http://download.microsoft.com/download/7/c/7/7c7e394d-ddbf-4f2a-9e86-cf054e04931d/SQLServer2005-KB948109-x86-ENU.exe"&gt;http://download.microsoft.com/download/7/c/7/7c7e394d-ddbf-4f2a-9e86-cf054e04931d/SQLServer2005-KB948109-x86-ENU.exe&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Windows SharePoint Services 3.0 SP1 Developer Evaluation VPC Image&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1beeac6f-2ea1-4769-9948-74a74bd604fa"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1beeac6f-2ea1-4769-9948-74a74bd604fa&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9619929" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Unexpected prompts for integrated authentication on WSS Developer VM</title><link>http://blogs.msdn.com/lucascan/archive/2009/05/15/unexpected-prompts-for-integrated-authentication-on-wss-developer-vm.aspx</link><pubDate>Sat, 16 May 2009 00:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9619859</guid><dc:creator>lucascan</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/9619859.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=9619859</wfw:commentRss><description>&lt;P&gt;After installing all outstanding updates on the WSS Developer VM I started getting unexpected prompts for authentication.&lt;/P&gt;
&lt;P&gt;First I tried disabling the loopback check as per KB896861.&amp;nbsp; Unfortunately, no luck.&lt;/P&gt;
&lt;P&gt;Seems the issue had to do with IE detecting the wrong zone.&amp;nbsp; It was detecting the Internet zone whilst I'm clearly in the Intranet zone (ie URL was &lt;A href="http://spvm/"&gt;http://spvm&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Solution was to uncheck "Automatically detect intranet network" at:&lt;BR&gt;Internet Options-&amp;gt;Security tab-&amp;gt;Local intranet-&amp;gt;Sites button&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Windows SharePoint Services 3.0 SP1 Developer Evaluation VPC Image&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1beeac6f-2ea1-4769-9948-74a74bd604fa"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1beeac6f-2ea1-4769-9948-74a74bd604fa&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You receive error 401.1 when you browse a Web site that uses Integrated Authentication and is hosted on IIS 5.1 or IIS 6&lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/896861"&gt;http://support.microsoft.com/kb/896861&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9619859" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/IIS/default.aspx">IIS</category></item><item><title>Troubleshooting an unresponsive web server (IIS) – Part 1 of 2, gathering the data</title><link>http://blogs.msdn.com/lucascan/archive/2009/04/14/troubleshooting-an-unresponsive-web-server-iis-part-1-of-2-gathering-the-data.aspx</link><pubDate>Tue, 14 Apr 2009 09:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9548047</guid><dc:creator>lucascan</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/9548047.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=9548047</wfw:commentRss><description>&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;A web server is deemed to be unresponsive if it’s either not providing a response at all and/or it’s not achieving the response time (performance) expectations of the users.&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;In my “Troubleshooting 101” post, I mentioned that after the problem has been defined (ie basic facts collected), the next step in the troubleshooting process is to gather data relevant to diagnosing the issue.&amp;nbsp; I’m planning to cover an introduction to analysing the data in a future post.&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;Following is a summary of my recommended action plan:&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;1)&amp;nbsp;Ensure that the appropriate troubleshooting tools are available and/or optimally configured on the effected server(s)&lt;BR&gt;2)&amp;nbsp;Collect data capturing the current configuration of the server(s)&lt;BR&gt;3)&amp;nbsp;At the time of the problem, collect data necessary to capture the problem state&lt;BR&gt;4)&amp;nbsp;Provide the data gathered to an appropriate resource for analysis&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;Here’s some details for the aforementioned action plan (steps 1 &amp;amp; 2 are for now whilst the remainder of the action plan is for when the problem next occurs):&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;1)&amp;nbsp;Troubleshooting tools/configuration:&lt;BR&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;a.&amp;nbsp;Configure a binary format Performance System Monitor (aka Perfmon) counter log for the following objects.&amp;nbsp; Choose a sample interval and other settings that are appropriate for your environment (ie disk space availability, etc):&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;.NET*&lt;BR&gt;Active Server Pages&lt;BR&gt;ASP.NET*&lt;BR&gt;LogicalDisk &lt;BR&gt;Memory&lt;BR&gt;Network Interface &lt;BR&gt;Paging File &lt;BR&gt;PhysicalDisk &lt;BR&gt;Process&lt;BR&gt;Processor&lt;BR&gt;System&lt;BR&gt;Thread (this object can be particularly helpful when troubleshooting high cpu however there’s a reasonable additional overhead in including it so you might like to omit it for the initial data gathering attempt)&lt;BR&gt;Web Service&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;* meaning all objects beginning with prefix.&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;By default, the process id (PID) doesn’t appear in the Perfmon Process instance names.&amp;nbsp; The PID can be helpful during analysis of the Perfmon log so make the following registry change before you start the counter logging.&amp;nbsp; Simply add a DWORD named “ProcessNameFormat” and give it a value of 2 under:&lt;BR&gt;&amp;nbsp;&lt;BR&gt;HKLM\SYSTEM\CurrentControlSet\Services\PerfProc\Performance&lt;BR&gt;&amp;nbsp;&lt;BR&gt;281884&amp;nbsp; The Process object in Performance Monitor can display Process IDs (PIDs)&lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/281884" mce_href="http://support.microsoft.com/kb/281884"&gt;http://support.microsoft.com/kb/281884&lt;/A&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;BR&gt;b.&amp;nbsp;Ensure that you have time-taken enabled in the IIS logging for the effected website(s).&amp;nbsp; Note, it’s not enabled by default and can be very useful as an objective measure of responsiveness.&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;c.&amp;nbsp;Ensure that you have the “Debugging Tools for Windows” available on the effected server(s).&amp;nbsp; Note, if you prefer, you can simply copy the “Debugging Tools for Windows” folder to the effected sever(s) rather than running the install:&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;Download “Debugging Tools for Windows”&lt;BR&gt;&lt;A href="http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx" mce_href="http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx"&gt;http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;2)&amp;nbsp;Current configuration:&lt;BR&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;a.&amp;nbsp;Gather general configuration information from the effected web server(s) via MPSReports:&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;MPSReports (MPSRPT_SETUPPerf.EXE):&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cebf3c7c-7ca5-408f-88b7-f9c79b7306c0&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cebf3c7c-7ca5-408f-88b7-f9c79b7306c0&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=cebf3c7c-7ca5-408f-88b7-f9c79b7306c0&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;b.&amp;nbsp;Gather a copy of the IIS Metabase (%windir%\system32\inetsrv\Metabase.xml)&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;3)&amp;nbsp;Capture the problem state:&lt;BR&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;a.&amp;nbsp;Whilst the server is next considered unresponsive, capture hang dump(s) via the following command:&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;cscript.exe adplus.vbs -hang -iis -quiet -o &amp;lt;output path&amp;gt; &lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;ADPlus comes with the “Debugging Tools for Windows” mentioned above in 1c).&lt;BR&gt;&amp;nbsp; &lt;BR&gt;More info: &lt;BR&gt;How to use ADPlus to troubleshoot "hangs" and "crashes" &lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/286350" mce_href="http://support.microsoft.com/kb/286350"&gt;http://support.microsoft.com/kb/286350&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;b.&amp;nbsp;(optional ) Repeat a).&amp;nbsp; In some situations (eg high cpu), it can be helpful to capture a 2nd hang dump.&amp;nbsp; The 2nd dump should only be initiated after the 1st dump has completed.&amp;nbsp; Note, the 1st dump hasn’t completed when the .VBS is finished – it launches CDB.EXE instances so wait for them to conclude before initiating the 2nd dump.&amp;nbsp; The 2nd dump can be helpful&amp;nbsp; for determining which specific threads are responsible for the cpu usage, etc.&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;4)&amp;nbsp;Gather the following and provide to an appropriate resource for analysis:&lt;BR&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;a.&amp;nbsp;Perfmon logs covering the period leading up to the problem, &lt;BR&gt;b.&amp;nbsp;IIS logs covering the period leading up to the problem,&lt;BR&gt;i.&amp;nbsp;IIS activity log (windir%\system32\LogFiles\W3SVCx\*.log).&lt;BR&gt;ii.&amp;nbsp;HTTPERR log (%windir%\system32\LogFiles\HTTPERR\*.log).&lt;BR&gt;c.&amp;nbsp;Hang dump(s), &lt;BR&gt;d.&amp;nbsp;Event logs (both Application and System in .evt format).&amp;nbsp; The event logs are included in the data gathered by MPSReports (step 2a) so you might find re-running MPSReports to be a convenient way to gather a copy of the event logs.&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;Troubleshooting is typically an iterative process.&amp;nbsp; In other words, repeat steps 3-4 for each occurrence of the issue until resolution is achieved.&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9548047" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/IIS/default.aspx">IIS</category></item><item><title>Troubleshooting 101</title><link>http://blogs.msdn.com/lucascan/archive/2009/04/14/troubleshooting-101.aspx</link><pubDate>Tue, 14 Apr 2009 05:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9547745</guid><dc:creator>lucascan</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/9547745.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=9547745</wfw:commentRss><description>&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;It’s been far too long between blog posts so here’s a post and a promise to blog more frequently...&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;I thought I’d share some of my thoughts on this topic that’s been the focus of my career for the past 7.5 years.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I’ve tried to keep this as generic as possible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Troubleshooting is somewhat of an art and a science.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Fortunately, with a logical approach it can be more like a science and less like a modern art disaster! &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Far too often I encounter situations where the chaos associated with a problem has clouded the judgement of those tasked with addressing it.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;From my experience, a structured, logical approach will achieve results faster than any other approach founded in matching the chaos of those affected by the problem.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Talking about how important it is to resolve the problem, etc does nothing to address it.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Only action will achieve the outcome desired by all&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;involved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;At the risk of stating the obvious, a high-level overview of my troubleshooting approach is as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;1) Define the problem&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;2) Gather data&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;3) Analyse data&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;4) Implement potential solutions&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;5) Repeat 1)-4) until the problem is resolved&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;1) Define the problem&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The initial and arguably most important step to troubleshooting is to define the problem that you’re hoping to overcome.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;After all, without a clear understanding of what you’re hoping to overcome/achieve you’ve got little hope.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Some examples of the questions you should be asking include:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;What symptom(s) indicate that the problem occurred or is occurring?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Are there multiple symptoms that can be attributed to the problem either at the time of the problem or even in the timeframe leading up to the problem?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;How do you know that the problem has occurred or is occurring? &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;When did the problem first occur?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;When did the problem last occur?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Approximately how frequently is the problem occurring?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;What action(s) are you taking to recover from the problem state when it occurs?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Can you reproduce the issue at will?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If so, what’s the steps necessary to do so?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Note, the above is not a definitive list.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However, I hope it’s enough to give you an idea as to the type of questioning that should occurring before proceeding further down the troubleshooting path.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;2) Gather data&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Gather data that helps you to understand the problem.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example, the configuration of the effected environment, events leading up to the problem and the environment state at the time of the problem.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;3) Analyse data&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Invest time into thoroughly analysing the data that has been gathered.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Leverage automated analysis tools where possible.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Your goal should be to extract clues from the data that might help you to figure out the cause of the issue.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Search whatever resources you have available to you (eg Internet) in attempt to locate others that have experienced the same/similar situations.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You won’t always find others who’ve encountered exactly the same issue.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However, you’re likely to find others who’ve faced something similar and you’re likely to learn from their journey.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;4) Implement potential solutions&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Potential solutions should be justified by observations from the data analysis and/or experience in the problem domain in general.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It’s often necessary to promote your suggestions that are likely potential solutions as sometimes those in control are reluctant to risk any change to the effected environment.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The reality is a change of some sort is likely to be necessary to resolve the issue so don’t be shy in regard to pushing the changes you feel are most likely to achieve the objective.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;5) Repeat 1)-4) until the problem is resolved&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Troubleshooting is often an iterative process.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Don’t expect to “nail it” on your first attempt.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You’ll often need to refine the action plan in response to the observations made during data analysis.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;A problem is sometimes considered “resolved” if it is agreed that relief has be achieved.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In other words, determining absolute root cause and/or fully addressing or understanding the reasons why the remedy has been successful is sometimes a luxury.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Engineering types typically aren’t satisfied with an outcome unless the problem and it’s solution are fully understood. However, you’ll sometimes need to accept that your goal has been achieved when the problem is considered resolved by others.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9547745" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>ASP.NET instrumentation (tracing) to a file</title><link>http://blogs.msdn.com/lucascan/archive/2009/04/14/asp-net-instrumentation-tracing-to-a-file.aspx</link><pubDate>Tue, 14 Apr 2009 02:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9547512</guid><dc:creator>lucascan</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/9547512.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=9547512</wfw:commentRss><description>&lt;P&gt;It's often helpful to instrument your code to help with troubleshooting, etc.&amp;nbsp; Instrumentation is really just a fancy word for &lt;EM&gt;tracing&lt;/EM&gt;.&lt;/P&gt;
&lt;P&gt;Here's an example of tracing to a file from ASP.NET.&lt;/P&gt;
&lt;P&gt;&amp;lt;%@ Page Language="C#" &lt;STRONG&gt;CompilerOptions="/d:TRACE"&lt;/STRONG&gt; %&amp;gt;&lt;BR&gt;&amp;lt;script runat="server"&amp;gt;&lt;BR&gt;void Page_Load(object sender, EventArgs e)&lt;BR&gt;{&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Trace.WriteLine(String.Format("{0},{1}", DateTime.Now, "Hello world!"));&lt;BR&gt;&lt;/STRONG&gt;}&lt;BR&gt;&amp;lt;/script&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;configuration&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;system.diagnostics&amp;gt;&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;trace autoflush="true"&amp;gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;listeners&amp;gt;&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="mytrace" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\temp\mytrace.csv" /&amp;gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/listeners&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/trace&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/system.diagnostics&amp;gt;&lt;BR&gt;&amp;lt;/configuration&amp;gt;&lt;BR&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;If you'd like to avoid the CompilerOptions Page directive, an alternate technique is to add the following additional web.config entries.&amp;nbsp; Note, this is equivilent to adding the directive to every page in your ASP.NET application.&lt;/P&gt;
&lt;P&gt;&amp;lt;configuration&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;system.codedom&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;compilers&amp;gt;&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;compiler language="c#;cs;csharp" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extension=".cs" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compilerOptions="/d:TRACE"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" /&amp;gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/compilers&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/system.codedom&amp;gt;&lt;BR&gt;&amp;lt;/configuration&amp;gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9547512" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>Lucascan's top 5 tips for a healthy ASP.NET application</title><link>http://blogs.msdn.com/lucascan/archive/2008/01/06/lucascan-s-top-5-tips-for-a-healthy-asp-net-application.aspx</link><pubDate>Mon, 07 Jan 2008 02:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7010965</guid><dc:creator>lucascan</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/7010965.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=7010965</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;These tips are reasonably well-known and have been blogged by others.&amp;nbsp; However, considering how often I come across these common “mistakes”, I felt yet another blog post was worthwhile:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;BR&gt;1) Disable ASP.NET debugging in production!&lt;BR&gt;&amp;nbsp;&lt;BR&gt;I cannot emphasize this enough, Set debug=”false” in all your web.config’s.&amp;nbsp;&amp;nbsp; I’m regularly pleasantly surprised by how many production issues can be resolved by simply disabling ASP.NET debugging.&lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;815157&amp;nbsp; HOW TO: Disable Debugging for ASP.NET Applications&lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/815157" mce_href="http://support.microsoft.com/kb/815157"&gt;http://support.microsoft.com/kb/815157&lt;/A&gt; &lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;More info on the “evils” of having ASP.NET debugging enabled in production environments is discussed in the following blog post by one of my colleagues:&lt;BR&gt;&lt;A href="http://blogs.msdn.com/tess/archive/2006/04/13/asp-net-memory-if-your-application-is-in-production-then-why-is-debug-true.aspx" mce_href="http://blogs.msdn.com/tess/archive/2006/04/13/asp-net-memory-if-your-application-is-in-production-then-why-is-debug-true.aspx"&gt;http://blogs.msdn.com/tess/archive/2006/04/13/asp-net-memory-if-your-application-is-in-production-then-why-is-debug-true.aspx&lt;/A&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;2) Store session state out of process&lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;ASP.NET applications can encounter OutOfMemoryException’s (OOM’s) and other undesirable symptoms when .NET is struggling to allocate virtual memory.&amp;nbsp; Busy sites that store session state in process are likely to encounter OOM’s, particularly if their recycling settings aren’t aggressive enough.&amp;nbsp; Too aggressive recycling settings can cause problems also.&amp;nbsp; Storing session state out of process is one of the simplest things you can do to avoid OOM’s and other issues associated with depletion of available virtual memory.&amp;nbsp; Unfortunately, our default session state store is in process so many don’t consider moving session state out of process until they have a production issue.&amp;nbsp; Storing session state out of process does have some implications (ie Serializable objects) so it’s worthwhile making this change early in your development cycle so you avoid the inconvenience of having to implement this change under the pressure associated with a production outage.&lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;307598 INFO: ASP.NET State Management Overview&lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/307598" mce_href="http://support.microsoft.com/kb/307598"&gt;http://support.microsoft.com/kb/307598&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;3) Windows Server 2003 (or later)&lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Windows Server 2003 has a number of advantages over Windows 2000 for hosting ASP.NET applications:&lt;BR&gt;a)&amp;nbsp;You can isolate each web application/app domain to its own IIS6 app pool/worker process so they aren’t sharing the same per-process 2Gb virtual address space limitation.&lt;BR&gt;b)&amp;nbsp;You can leverage the various worker process recycling options available in 2003.&amp;nbsp; Appropriate pre-emptive recycling is a great way to avoid production outages.&lt;BR&gt;c)&amp;nbsp;x64 version allows 4Gb of virtual address space even in 32-bit mode.&amp;nbsp; Obviously, running out of virtual address space is much less likely if you have the luxury of running in 64-bit mode.&lt;BR&gt;d)&amp;nbsp;/3gb switch works even in the standard version.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;4) .NET 2.0 (or later)&lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;.NET 2.0 incorporates a significant number of improvements over .NET 1.x and most .NET 1.x sites will run under .NET 2.0 without modification.&amp;nbsp; Note, .NET 2.0 isn’t installed by default on Windows Server 2003 so you’ll need to install it manually.&amp;nbsp; If nothing else, the highly recommended threading configuration settings documented in KB 821268 are defaults in .NET 2.0.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;821268 Contention, poor performance, and deadlocks when you make Web service requests from ASP.NET applications&lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/821268" mce_href="http://support.microsoft.com/kb/821268"&gt;http://support.microsoft.com/kb/821268&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;5) Increase the allowed number of outbound HTTP connections from the default (2).&lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;By default, in order to be a compliant HTTP 1.1 client, .NET only allows 2 outbound HTTP requests per process/host.&amp;nbsp; Whilst this might be appropriate if you’re building a Winforms app, it can be a bottleneck for server-side applications like ASP.NET websites that are doing web service calls, etc.&amp;nbsp; You can increase the allowed number of outbound HTTP connections via the maxconnection .config setting.&amp;nbsp; KB 821268 recommends 12 * N where N is the number of logical CPU’s in your ASP.NET server.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7010965" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>.NET 2.0 WebException "The underlying connection was closed: A connection that was expected to be kept alive was closed by the server" </title><link>http://blogs.msdn.com/lucascan/archive/2007/08/16/net-2-0-webexception-the-underlying-connection-was-closed-a-connection-that-was-expected-to-be-kept-alive-was-closed-by-the-server.aspx</link><pubDate>Thu, 16 Aug 2007 07:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4409889</guid><dc:creator>lucascan</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/4409889.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=4409889</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I've been working with a few customers lately that have been experiencing this WebException that has been confirmed as an issue introduced by connection management design changes incorporated into .NET 2.0.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; The exception typically ocurrs during a web service call however any scenario involving a HttpWebRequest with keep-alives could encounter this issue.&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Note, this issue doesn't occur in .NET 1.x so if you are experiencing this exception in any .NET version prior to .NET 2.0 RTM then I suggest that you are probably dealing with a different issue so KB &lt;A class="" href="http://support.microsoft.com/kb/915599" mce_href="http://support.microsoft.com/kb/915599"&gt;915599&lt;/A&gt; is probably a good place to start.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The issue involves how we handle the scenario whereby a server has sent a FIN to a keep-alive connection.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We should close the connection and issue the next client request on a new connection. However, in .NET 2.0 RTM, we attempt to reuse the original connection resulting in the server resetting the connection on the next request.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This reset results in this exception being raised in the client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The issue is currently scheduled to be resolved in .NET 3.5.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However, we are also considering the possibility of a hotfix for .NET 2.0.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If you suspect that you're hitting this issue, you’ll need to capture &lt;A class="" href="http://blogs.msdn.com/lucascan/archive/2007/08/16/using-microsoft-network-monitor-netmon-to-capture-a-network-trace.aspx" mce_href="http://blogs.msdn.com/lucascan/archive/2007/08/16/using-microsoft-network-monitor-netmon-to-capture-a-network-trace.aspx"&gt;Netmon trace&lt;/A&gt;(s), ideally from both ends of the network conversation, whilst reproducing the issue.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Generally speaking, it’s preferable to capture network traces from both ends of a conversation as this will allow you to determine if there is any possibility that intermediaries (ie proxy servers, networking hardware) are influencing the conversation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If you’d like to minimise the size of the trace file, you can use a &lt;A class="" href="http://blogs.msdn.com/lucascan/archive/2007/08/16/reducing-netmon-trace-file-size-via-capturing-only-a-single-port-using-a-capture-filter.aspx" mce_href="http://blogs.msdn.com/lucascan/archive/2007/08/16/reducing-netmon-trace-file-size-via-capturing-only-a-single-port-using-a-capture-filter.aspx"&gt;capture filter&lt;/A&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Resolutions D, E &amp;amp; F from KB &lt;A class="" href="http://support.microsoft.com/kb/915599" mce_href="http://support.microsoft.com/kb/915599"&gt;915599&lt;/A&gt; are potential workarounds for you to consider.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However, resolution D (ie disabling keep-alives) won’t be an option for you if you are using NTLM authentication as it requires keep-alives.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;*** UPDATE ***&amp;nbsp;The hotfix for .NET 2.0 is available via contacting Microsoft Customer Support Services and quoting KB 941633.&amp;nbsp;&lt;A href="http://support.microsoft.com/kb/941633"&gt;http://support.microsoft.com/kb/941633&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4409889" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/Netmon/default.aspx">Netmon</category><category domain="http://blogs.msdn.com/lucascan/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Reducing Netmon trace file size via capturing only a single port using a capture filter</title><link>http://blogs.msdn.com/lucascan/archive/2007/08/16/reducing-netmon-trace-file-size-via-capturing-only-a-single-port-using-a-capture-filter.aspx</link><pubDate>Thu, 16 Aug 2007 06:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4409746</guid><dc:creator>lucascan</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/4409746.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=4409746</wfw:commentRss><description>&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-AU; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-AU; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;This is a handy tip to reduce the file size of your Netmon traces.&amp;nbsp; This is particularlly useful when you need to leave the trace running for an extended period of time.&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-AU; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Thanks&amp;nbsp;go to my collegue Andreja Rusjakovski for this tip...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-AU; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Just before starting the trace go to Capture-&amp;gt;Filter-&amp;gt;Load button and select a *.cf file.&amp;nbsp; An example of the contents of the .cf file for a Port 80 only trace is as follows.&amp;nbsp; Note, to capture a different port substitue the "0050" for a different value (ie "0050" is hexadecimal for decimal 80).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-AU; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;[CAPTURE FILTER]&lt;BR&gt;VERSION=2&lt;BR&gt;[SAPS ETYPES]&lt;BR&gt;SAPS=1&lt;BR&gt;ETYPES=1&lt;BR&gt;[ADDRESSES]&lt;BR&gt;NLINES=0&lt;BR&gt;[ANDEXP1]&lt;BR&gt;PATTERN1=0, 22, 2,0050&lt;BR&gt;PATTERN2=0, 24, 2,0050&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4409746" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/Netmon/default.aspx">Netmon</category></item><item><title>Using Microsoft Network Monitor (Netmon) to capture a network trace</title><link>http://blogs.msdn.com/lucascan/archive/2007/08/16/using-microsoft-network-monitor-netmon-to-capture-a-network-trace.aspx</link><pubDate>Thu, 16 Aug 2007 06:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4409592</guid><dc:creator>lucascan</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/lucascan/comments/4409592.aspx</comments><wfw:commentRss>http://blogs.msdn.com/lucascan/commentrss.aspx?PostID=4409592</wfw:commentRss><description>&lt;P&gt;1) Download and install Netmon from the following URL.&amp;nbsp; Note, the password for the .zip is "trace".&lt;/P&gt;
&lt;P&gt;&lt;A href="ftp://ftp.microsoft.com/pss/tools/netmon/netmon2.zip" mce_href="ftp://ftp.microsoft.com/pss/tools/netmon/netmon2.zip"&gt;ftp://ftp.microsoft.com/pss/tools/netmon/netmon2.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;2) Start Netmon.&lt;/P&gt;
&lt;P&gt;Administrative Tools-&amp;gt;Network Analysis Tools-&amp;gt;Network Monitor&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;3) Select the appropriate network interface.&lt;/P&gt;
&lt;P&gt;The first time you run Netmon, you'll be asked to select the network interface to trace.&amp;nbsp; The following command from the command line should help you to identify the approriate interface via the "Physical Address":&lt;/P&gt;
&lt;P&gt;ipconfig /all&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;4) Increase the buffer settings.&lt;/P&gt;
&lt;P&gt;By default, Netmon will only trace up to 1Mb of data before it starts to overwrite the capture buffer.&amp;nbsp; Set the buffer to a larger size (say 10Mb) via Capture-&amp;gt;Buffer Settings menu item.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;5) Start the trace via Capture-&amp;gt;Start menu item.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;6) Reproduce the issue.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;7) Stop the trace via the Capture-&amp;gt;Stop menu item.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;8) Save the trace via the File-&amp;gt;Save As menu item.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;9) To complement the trace, capture network configuration information to a .txt file:&lt;BR&gt;ipconfig /all &amp;gt; %computername%-ipconfig.txt&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;10) .ZIP up the .cap and .txt files and send to your Microsoft support representative for analysis.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4409592" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/lucascan/archive/tags/Netmon/default.aspx">Netmon</category></item></channel></rss>