<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>Serge van den Oever [Macaw] : ASP.NET</title><link>http://weblogs.asp.net/soever/archive/tags/ASP.NET/default.aspx</link><description>Tags: ASP.NET</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Debugging SharePoint/ASP.NET code? Smart key-codes + disable timeout!</title><link>http://weblogs.asp.net/soever/archive/2009/06/18/debugging-sharepoint-asp-net-code-smart-key-codes-disable-timeout.aspx</link><pubDate>Thu, 18 Jun 2009 15:39:02 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7129051</guid><dc:creator>svdoever</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=7129051</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2009/06/18/debugging-sharepoint-asp-net-code-smart-key-codes-disable-timeout.aspx#comments</comments><description>&lt;p&gt;I'm currently running around in the Visual Studio debugger to debug some complex SharePoint code. There are two things really annoy me: all the mouse-clicks needed to attach to the Internet Information Server process and the time-out you get when you are exploring complex data-structures for too long.&lt;/p&gt;  &lt;p&gt;First my favorite key-sequence for the last week: &amp;lt;ALT-D&amp;gt;PW3&amp;lt;ENTER&amp;gt;&amp;lt;ENTER&amp;gt;. I will explain it:&lt;/p&gt;  &lt;p&gt;&amp;lt;Alt-D&amp;gt; brings up the debugging menu in Visual Studio:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_thumb.png" width="351" height="556" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;With P the action &amp;quot;Attach to Process...&amp;quot; is executed, which brings you to the following window:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_4.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_thumb_1.png" width="644" height="475" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The list of available processes is already active. We nog need to select the Internet Information Server worker process. Each application pool has it's own worker process. These worker processes are named: w3wp.exe.&lt;/p&gt;  &lt;p&gt;By typing W3 the first (and often only) w3wp.exe process is selected:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_6.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_thumb_2.png" width="644" height="475" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If there are multiple w3wp.exe processes you could select them all (SHIFT+ARROWDOWN). Now press the first time &amp;lt;ENTER&amp;gt;, which selects the w3wp.exe process(es). This results in the following window:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_8.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_thumb_3.png" width="446" height="277" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The &amp;quot;Attach&amp;quot; button is selected by default. This brings us to the latest &amp;lt;ENTER&amp;gt; to accept the default selection.&lt;/p&gt;  &lt;p&gt;We are now attached to the correct Internet Information Server working process(es) and can start debugging.&lt;/p&gt;  &lt;p&gt;Just try it a few times: &amp;lt;ALT-D&amp;gt;PW3&amp;lt;ENTER&amp;gt;&amp;lt;ENTER&amp;gt;, it will become second nature in no time. Happy debugging....&lt;/p&gt;  &lt;p&gt;... until you get the following popup window:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_10.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_thumb_4.png" width="575" height="240" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You have got a &amp;quot;ping&amp;quot; timeout. If you read the box well, it tells you exactly what happened, and it tells you to press the &amp;quot;Help&amp;quot; button for further details.&lt;/p&gt;  &lt;p&gt;Most people don't read the box, and start over again. But it worth the effort to follow the described steps from the Microsoft documentation, they are a bit hard to follow:&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;To continue to debug, you must configure IIS to allow the worker process to continue.&lt;/font&gt;&lt;/p&gt;  &lt;h5&gt;&lt;font color="#0000ff"&gt;To enable Terminal Services &lt;/font&gt;&lt;font color="#ff0000"&gt;(?? Terminal Services ??)&lt;/font&gt;&lt;/h5&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;Open the Administrative Tools window.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;Click Start, and then choose Control Panel.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;In Control Panel, choose Switch to Classic View, if necessary, and then double-click Administrative Tools.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;In the Administrative Tools window, double-click Internet Information Services (IIS) Manager.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;In the Internet Information Services (IIS) Manager window, expand the &amp;lt;computer name&amp;gt; node.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;Under the &amp;lt;computer name&amp;gt; node, right-click Application Pools.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;In the Application Pools list, right-click the name of the pool your application runs in, and then click Advanced Settings.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;In the Advanced Settings dialog box, locate the Process Model section and choose one of the following actions:&lt;/font&gt;&lt;/p&gt;      &lt;ol&gt;       &lt;li&gt;         &lt;p&gt;&lt;font color="#0000ff"&gt;Set Ping Enabled to False.&lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font color="#0000ff"&gt;-or-&lt;/font&gt;&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;&lt;font color="#0000ff"&gt;Set Ping Maximum Response Time to a value greater than 90 seconds.&lt;/font&gt;&lt;/p&gt;       &lt;/li&gt;     &lt;/ol&gt;      &lt;p&gt;&lt;font color="#0000ff"&gt;Setting Ping Enabled to False stops IIS from checking whether the worker process is still running and keeps the worker process alive until you stop your debugged process. Setting Ping Maximum Response Time to a large value allows IIS to continue monitoring the worker process.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;Click OK.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;Under Services and Applications, click Services. &lt;/font&gt;&lt;font color="#ff0000"&gt;-- Don't know what the rest of the steps if for... you are done!&lt;/font&gt;&lt;/p&gt;      &lt;p&gt;&lt;font color="#0000ff"&gt;A list of services appears in the right-side pane.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;In the Services list, right-click Terminal Services, and then click Properties.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;In the Terminal Services Properties window, locate the General tab and set Startup type to Manual.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;Click OK to close the Advanced Settings dialog box.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;font color="#0000ff"&gt;Close the Internet Information Services (IIS) Manager window and the Administrative Tools window.&lt;/font&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I'm running on Windows Server 2008, and below are the steps that I follow:&lt;/p&gt;  &lt;p&gt;Just type iis in the Start Search box, this shows me two applications:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_14.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_thumb_6.png" width="525" height="126" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I take the top one (I'm not running under IIS 6) and get the following screen:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_12.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_thumb_5.png" width="923" height="739" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Right-click your application pool, advanced settings... and you get the following screen:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_16.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/soever/WindowsLiveWriter/Debug.NETcodeSmartkeycodesdisabletimeout_E709/image_thumb_7.png" width="790" height="631" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Set &amp;quot;Ping Enabled&amp;quot; to False, press OK, and you can drill through your data-structures in the debugger for as long as you want!&lt;/p&gt;  &lt;p&gt;Again: &amp;quot;Happy debugging!&amp;quot;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7129051" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/soever/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/soever/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>youOS, a web operating system. The ultimate AJAX application</title><link>http://weblogs.asp.net/soever/archive/2007/03/11/youos-a-web-operating-system-the-ultimate-ajax-application.aspx</link><pubDate>Sun, 11 Mar 2007 00:58:02 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:1995717</guid><dc:creator>svdoever</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=1995717</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2007/03/11/youos-a-web-operating-system-the-ultimate-ajax-application.aspx#comments</comments><description>&lt;p&gt;I can't remember how I stumbled across &lt;a href="https://www.youos.com/" target="_blank"&gt;YouOS&lt;/a&gt;, but I must say I'm impressed. YouOS is a web operating system running in your browser. It provides a shared virtual server where multiple people can run their applications and interact with eachother. It is a platform to build and host applications that are written in Javascript. The application delivery mechanisms alows you to publish your application to other users running youOS. For storage purposes&amp;nbsp;youOS uses the Amazon S3 storage system. It is still an Alpha release, but it looks very promising.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image045.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="480" src="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image0_thumb21.png" width="501" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;em&gt;The main window of youOS.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;YouOS contains already an extensive application catalog where you can sele4ct the application you would like to run:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image048.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="480" src="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image0_thumb22.png" width="501" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;em&gt;The application catalog.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Although it is possible to run a demo session, you should absolutely create a login account because then you can see some more of the power of youOS. It contains a complete development IDE hosted in your browser.&lt;/p&gt; &lt;p&gt;You can create our own applications within the youOS Developer Portal.&lt;/p&gt;&lt;a href="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image018.png" atomicselection="true"&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image023.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="178" src="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image0_thumb13.png" width="597" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Create a new application for youOS.&lt;/em&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Applications can be authored in the Javascript language in the youOS development IDE which supports versioned code editing. From the ide you can publish your application to the application catalog when you are finished, so all people using youOS can use it. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image036.png" target="_new" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="380" src="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image0_thumb16.png" width="595" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;The application development IDE. Click to enlarge.&lt;/em&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The IDE provides a high level abstraction layer to author your code. The different hooks where code or information can be added is presentened at the left side of the screen. The actual code that will run in the youOS environment is created after "compilation":&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image040.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="480" src="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image0_thumb18.png" width="588" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;em&gt;Actual code generated after compilation.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;As you can see in the code &lt;a href="http://dojotoolkit.org/" target="_blank"&gt;Dojo&lt;/a&gt;, an impressive open source javascript toolkit, is used extensively within youOS. YouOS provides a rich API for all kind of functionality. See the &lt;a href="http://trac.youos.com/" target="_blank"&gt;online documentation&lt;/a&gt; for more information.&lt;/p&gt; &lt;p&gt;The actual usage of the applications within youOS can be seen on the Developer Scoreboard:&lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="768" alt="The developer score card" src="http://www.xs4all.nl/~svdoever/blog/youOSaweboper.TheultimateAJAXapplication_1B99/image027.png" width="509" border="0"&gt; &lt;/p&gt; &lt;p&gt;&lt;em&gt;The Developer Scorecard.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;It is possible to clone or extend any of the available applications, so the source of all applications is open to everyone. This provides you with real good insight into how to build even complex applications like an editor for youOS. &lt;/p&gt; &lt;p&gt;If you create a shortcut on your desktop with: &lt;strong&gt;"C:\Program Files\Internet Explorer\IEXPLORE.EXE" -k &lt;/strong&gt;&lt;a href="https://www.youos.com"&gt;&lt;strong&gt;https://www.youos.com&lt;/strong&gt;&lt;/a&gt; you will get an experience that matches a full screen OS (from the youOS blog). Use ALT-F4 to kill the explorer in kiosk mode.&lt;/p&gt; &lt;p&gt;The &lt;a href="http://blog.youos.com/" target="_blank"&gt;weblog of youOS&lt;/a&gt; seems a bit dead right now, the last post was of oktober 16 2006.&lt;/p&gt; &lt;p&gt;Check it out and get inspired!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=1995717" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/Other+Stuff/default.aspx">Other Stuff</category><category domain="http://weblogs.asp.net/soever/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Web Deployment Projects and deploying web.config settings for multiple machines</title><link>http://weblogs.asp.net/soever/archive/2006/06/07/Web-Deployment-Projects-and-deploying-web.config-settings-for-multiple-machines.aspx</link><pubDate>Wed, 07 Jun 2006 07:41:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:451379</guid><dc:creator>svdoever</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=451379</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2006/06/07/Web-Deployment-Projects-and-deploying-web.config-settings-for-multiple-machines.aspx#comments</comments><description>&lt;P&gt;I wrote the following comment on a post &lt;A href="http://weblogs.asp.net/dfindley/archive/2006/06/06/Frustrations-with-Web-Deployment-Projects.aspx"&gt;http://weblogs.asp.net/dfindley/archive/2006/06/06/Frustrations-with-Web-Deployment-Projects.aspx&lt;/A&gt;&amp;nbsp;about having machine dependent configurations in your web.config. DFindley expresses some frustrations with the web deployment projects on configuring per machine settings in the web.config, but he found the fix right away. This approach is powerful, but sometimes not clear where the settings are actually managed. I use another approach that works quite well for me. I posted this as a comment on the mentioned post.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Scott mentions in his comment to have a web.config per machine, and copy the correct web.config on deployment. &lt;BR&gt;I prefer to only have replacements for the changing sections per machine. Often these settings are the &lt;STRONG&gt;appSettings&lt;/STRONG&gt;, &lt;STRONG&gt;connections&lt;/STRONG&gt; and an &lt;STRONG&gt;impersonation&lt;/STRONG&gt; account.&lt;BR&gt;In this approach you can manage the other settings in a generic web.config that is used for all machines.&lt;BR&gt;So what I do is the following:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Create &lt;STRONG&gt;appSettings&lt;/STRONG&gt; files per machine:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;MACHINE1.appSettings.config&lt;BR&gt;MACHINE2.appsettings.config&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Create &lt;STRONG&gt;connections &lt;/STRONG&gt;files per machine:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;MACHINE1.connections.config&lt;BR&gt;MACHINE2.connections.config&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;On automated deployment check your machine name, and copy:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;MACHINEX.appSettings.config to appSettings.config&lt;BR&gt;MACHINEX.connections.config to connections.config&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;In your web.config you refer to those external files as follows:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;&amp;lt;appSettings configSource="appSettings.Config"/&amp;gt;&lt;BR&gt;&amp;lt;connectionStrings configSource="connections.config"/&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Another thing you often want to set is the impersonation account, we manage those in the registry per server in a secure way as follows:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;&amp;lt;!-- Impersonation identity is encrypted in the registry. Identity is set with the following command:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;aspnet_setreg.exe -k:SOFTWARE\MyApp\identity -u:"yourdomainname\username" -p:"password"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;Tool can be downloaded at:&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://download.microsoft.com/download/2/9/8/29829651-e0f0-412e-92d0-e79da46fd7a5/aspnet_setreg.exe"&gt;&lt;FONT color=#0000ff&gt;http://download.microsoft.com/download/2/9/8/29829651-e0f0-412e-92d0-e79da46fd7a5/aspnet_setreg.exe&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;--&amp;gt;&lt;BR&gt;&amp;lt;identity impersonate="true"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; userName="registry:HKLM\SOFTWARE\MyApp\identity\ASPNET_SETREG,userName"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; password="registry:HKLM\SOFTWARE\MyApp\identity\ASPNET_SETREG,password" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=451379" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/soever/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Simultaneous HTTP connections in IE, IE memory leaks (unrelated)... some thoughts and links</title><link>http://weblogs.asp.net/soever/archive/2006/03/08/439877.aspx</link><pubDate>Wed, 08 Mar 2006 22:40:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:439877</guid><dc:creator>svdoever</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=439877</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2006/03/08/439877.aspx#comments</comments><description>&lt;p&gt;Two things that scares me off a bit with complex client side Javascript programming and AJAX technology are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The number of possible simultaneous connections in a browser&lt;/li&gt;
&lt;li&gt;IE browser has memory leaks when doing complex operations&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Simultaneous Connections:&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;By default a browser supports only up to 2 simultaneous connections as described by &lt;a href="http://weblogs.asp.net/mschwarz" target="_blank"&gt;Michael Schwartz&lt;/a&gt; in &lt;a href="http://weblogs.asp.net/mschwarz/archive/2005/10/20/428047.aspx" target="_blank"&gt;this&lt;/a&gt; blog entry. It is possible to increase this amount through a registry setting. Good to increase the amount of simultaneous downloads, but not something you can count on in yor application. This means that you should really watch out in implementing multiple separate XmlHttpRequests from your web page. Although I assume that calls are just blocked when the &amp;ldquo;request queue&amp;rdquo; is full, and will be executed when a previous request is finished. I thought that applications in Flash could work around that limitation, but as far as I know Flash utilizes the browser HTTP stack, so will probably suffer from the same restrictions (can someone confirm this?).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IE memory leaks:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Something that really &amp;ldquo;shocked&amp;rdquo; me a while ago was &lt;a href="http://weblogs.asp.net/mschwarz/archive/2005/11/17/430770.aspx" target="_blank"&gt;this&lt;/a&gt; weblog post by (again) &lt;a href="http://weblogs.asp.net/mschwarz" target="_blank"&gt;Michael Schwartz&lt;/a&gt;. He describes memory leaks with XmlHttpequests in sites like &lt;a href="http://www.start.com/"&gt;http://www.start.com&lt;/a&gt;. I didn&amp;rsquo;t hear much about it after that post, until I stumbled over a &lt;a href="http://blogs.telerik.com/blogs/rumen_stankov/archive/2006/03/04/150.aspx" target="_blank"&gt;blog entry&lt;/a&gt; by Telerik (the developers of the great WYSIWYG HTML editor). They describe IE memory leaks, and some tips on how to avoid them. They link to &lt;a href="http://www.quirksmode.org/blog/archives/2005/10/memory_leaks_li.html" target="_blank"&gt;this&lt;/a&gt; article at &lt;a href="http://quirksmode.com/"&gt;http://quirksmode.com&lt;/a&gt;&amp;nbsp;with more pointers to information on IE memory leaks.&lt;/p&gt;
&lt;p&gt;Lets hope that implementations like Ajax.Net, MagicAjax and Atlas and all the other Ajax libraries work around these issues so we simple developers don&amp;rsquo;t have to take care of all the quirks that the different browsers will definitly have. This is one of the reasons why Flash looks so interesting: one vendor, so probably the same bugs on all platforms;-)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=439877" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/Flash_2F00_Flex/default.aspx">Flash/Flex</category><category domain="http://weblogs.asp.net/soever/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>IE client side Javascript and htc inclusion problem...</title><link>http://weblogs.asp.net/soever/archive/2004/02/06/68292.aspx</link><pubDate>Thu, 05 Feb 2004 23:00:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:68292</guid><dc:creator>svdoever</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=68292</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2004/02/06/68292.aspx#comments</comments><description>&lt;P&gt;Today we had the strangest problem wit a piece of javascript that was including a htc as follows:&lt;/P&gt;&lt;P&gt;&amp;lt;html xmlns:xp&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;head&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;meta name=vs_targetSchema content="&lt;A href="http://schemas.microsoft.com/intellisense/ie5"&gt;http://schemas.microsoft.com/intellisense/ie5&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;link type="text/css" rel="stylesheet" href="skins/quicktime/skin.css"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;link type="text/css" rel="stylesheet" href="container.css"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;?import namespace="xp" implementation="xpc.button.htc"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;?import namespace="xp" implementation="xpc.gallery.htc"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;?import namespace="xp" implementation="xpc.moduledef.htc"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;?import namespace="xp" implementation="xpc.module.htc"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;?import namespace="xp" implementation="xpc.panel.htc"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;&lt;P&gt;In our test code, a html file containing the above code, everything worked just fine. Time to integrate in our server side code!&lt;/P&gt;&lt;P&gt;After integration we&amp;nbsp;were getting a strange error message about a missing object. After hours of debugging and creating completely similar minimal files with one derived from out test html file and one derived from our server generated code we were clueless.&lt;/P&gt;&lt;P&gt;Time for WinDiff, and to our surprise the server generated file started with four strange characters! &lt;/P&gt;&lt;P&gt;The problem was that the htc files and test html file are all in ANSI, while the server generated code is UTF-8. Problems occur when you import htc files in ANSI format in a UTF8 format html file!!!&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=68292" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title> IE DHTML behaviours in Mozilla (firebird)</title><link>http://weblogs.asp.net/soever/archive/2004/02/03/66566.aspx</link><pubDate>Tue, 03 Feb 2004 09:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:66566</guid><dc:creator>svdoever</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/soever/rsscomments.aspx?PostID=66566</wfw:commentRss><comments>http://weblogs.asp.net/soever/archive/2004/02/03/66566.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;It seems to be possible: client IE behaviours in Mozilla. Have a look at &lt;A href="http://dean.edwards.name/moz-behaviors/"&gt;http://dean.edwards.name/moz-behaviors/&lt;/A&gt; for more information. I did not try it out yet (Mozilla currently not running on my system) but the work by Dean looks well thought out!&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=66566" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/soever/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item></channel></rss>