<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.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>Carlos Walzer : ASP.NET</title><link>http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx</link><description>Tags: ASP.NET</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Recursos destacados en MSDN ASP.NET Home</title><link>http://msmvps.com/blogs/cwalzer/archive/2009/10/21/recursos-destacados-msdn-asp-net.aspx</link><pubDate>Wed, 21 Oct 2009 13:36:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1733993</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1733993</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2009/10/21/recursos-destacados-msdn-asp-net.aspx#comments</comments><description>&lt;p&gt;Me ha tocado la grata tarea de seleccionar y promover los links que se listan en la secci&amp;oacute;n de &lt;a target="_blank" href="http://msdn.microsoft.com/es-ar/asp.net/default.aspx"&gt;Recursos Destacados de MSDN ASP.NET Home&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La idea es promover art&amp;iacute;culos originales de autores de la comunidad de habla hispana, sobre temas de desarrollo Web. Estar&amp;eacute; seleccionando unos 10 art&amp;iacute;culos al mes.&lt;/p&gt;
&lt;p&gt;Algunos temas de ejemplo: ASP.NET, Silverlight, IIS, Seguridad, AJAX, IE, ASP.NET MVC, ASP.NET 4.0&lt;/p&gt;
&lt;p&gt;Si encuentras alg&amp;uacute;n art&amp;iacute;culo interesante o quieres promover el tuyo, comun&amp;iacute;cate conmigo v&amp;iacute;a &lt;a href="http://twitter.com/cwalzer" title="http://twitter.com/cwalzer"&gt;http://twitter.com/cwalzer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Saludos&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1733993" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>Using Modal Dialog Boxes in ASP.NET Applications</title><link>http://msmvps.com/blogs/cwalzer/archive/2008/08/21/using-modal-dialog-boxes-in-asp-net-applications.aspx</link><pubDate>Thu, 21 Aug 2008 12:08:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1645407</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1645407</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2008/08/21/using-modal-dialog-boxes-in-asp-net-applications.aspx#comments</comments><description>&lt;p&gt;Este artic&amp;uacute;clo publicado originalmente en AspToday (hace a&amp;ntilde;os), muestra como resolver mediante XmlHttpRequest el post desde una ventana modal del explorador.&lt;/p&gt;
&lt;p&gt;Si bien hoy tenemos Ajax, UpdatePanels y derivados, creo que el art&amp;iacute;culo&amp;nbsp;sigue vigente....&lt;/p&gt;
&lt;p&gt;&lt;a href="http://microsoft.apress.com/asptodayarchive/73815/using-modal-dialog-boxes-in-aspnet-applications"&gt;http://microsoft.apress.com/asptodayarchive/73815/using-modal-dialog-boxes-in-aspnet-applications&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2008/08/21/using-modal-dialog-boxes-in-asp-net-applications.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1645407" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Video: Load Test en Visual Studio 2008</title><link>http://msmvps.com/blogs/cwalzer/archive/2008/08/01/Load_5F00_Test_5F00_Visual_5F00_Studio_5F00_2008.aspx</link><pubDate>Fri, 01 Aug 2008 04:29:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1642977</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1642977</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2008/08/01/Load_5F00_Test_5F00_Visual_5F00_Studio_5F00_2008.aspx#comments</comments><description>&lt;p&gt;&lt;span class="videoDetailsDescription"&gt;Como preparar, correr y analizar un Web Test utilizando Visual Studio 2008 Team Systems.&lt;/span&gt; &lt;a href="http://msmvps.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=NewPost" style="display:none;visibility:hidden;" class="tLink"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://video.msn.com/video.aspx?vid=7fb18cc8-2700-4302-99e2-9df89fa71284"&gt;&lt;img width="433" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cwalzer.Videos/HowToLoadTest.jpg" height="364" style="border:0;" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Duraci&amp;oacute;n: 12:59&lt;/p&gt;
&lt;p&gt;Extra&amp;iacute;do del &lt;a target="_self" href="http://msmvps.com/blogs/cwalzer/archive/2008/06/25/v-237-deo-herramientas-para-asegurar-la-calidad-utilizando-visual-studio-team-system-2008.aspx"&gt;&lt;span style="color:#3399ff;"&gt;Lanzamiento de Visual Studio 2008&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2008/08/01/Load_5F00_Test_5F00_Visual_5F00_Studio_5F00_2008.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1642977" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Performance/default.aspx">Performance</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/VS+Team+Systems/default.aspx">VS Team Systems</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Rendimiento/default.aspx">Rendimiento</category></item><item><title>Video: Web Test en Visual Studio 2008</title><link>http://msmvps.com/blogs/cwalzer/archive/2008/07/23/video-how-to-web-test-en-visual-studio-2008.aspx</link><pubDate>Thu, 24 Jul 2008 00:40:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1641743</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1641743</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2008/07/23/video-how-to-web-test-en-visual-studio-2008.aspx#comments</comments><description>&lt;p&gt;V&amp;iacute;deo que muestra como grabar, personalizar y ejecutar un Web Test utilizando Visual Studio 2008 Team Systems.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://video.msn.com/video.aspx?vid=e68c1e66-99c9-4528-98f6-5e7269951cd5"&gt;&lt;img width="433" src="http://msmvps.com/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cwalzer.Videos/HowToWebTest.jpg" height="366" style="border:0;" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Duraci&amp;oacute;n: 9:04&lt;/p&gt;
&lt;p&gt;Extra&amp;iacute;do del &lt;a target="_self" href="http://msmvps.com/blogs/cwalzer/archive/2008/06/25/v-237-deo-herramientas-para-asegurar-la-calidad-utilizando-visual-studio-team-system-2008.aspx"&gt;Lanzamiento de Visual Studio 2008&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2008/07/24/video-how-to-web-test-en-visual-studio-2008.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1641743" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/VS+Team+Systems/default.aspx">VS Team Systems</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Video/default.aspx">Video</category></item><item><title>Conferencia: IIS 7 para Desarrolladores</title><link>http://msmvps.com/blogs/cwalzer/archive/2008/05/20/conferencia-iis-7-para-desarrolladores.aspx</link><pubDate>Tue, 20 May 2008 12:18:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1624954</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1624954</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2008/05/20/conferencia-iis-7-para-desarrolladores.aspx#comments</comments><description>&lt;p&gt;En esta &lt;a target="_blank" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032376096&amp;amp;EventCategory=5&amp;amp;culture=es-AR&amp;amp;CountryCode=AR"&gt;presentaci&amp;oacute;n online de MSDN&lt;/a&gt; (20/mayo/08) que realizamos con &lt;a target="_blank" href="http://blog.tercerplaneta.com/2008/05/conferencia-online-iis-7-para.html"&gt;Jos&amp;eacute; Marcenaro&lt;/a&gt;, destacamos algunos de los aspectos de la nueva plataforma de hosting en Windows Server 2008 y Windows Vista, enfocados desde la &amp;oacute;ptica de los desarrolladores. &lt;/p&gt;
&lt;p&gt;Puede descargar aqu&amp;iacute; la &lt;a target="_blank" href="https://www.onlinefilefolder.com/index.php?action=getshare&amp;amp;type=0&amp;amp;user_num=54156&amp;amp;share_id=211415&amp;amp;hash=1a7e7a692810b9b6e587b771e85baf68"&gt;presentaci&amp;oacute;n&lt;/a&gt; (.PPTX) y el ejemplo de c&amp;oacute;digo &lt;a target="_blank" href="http://msmvps.com/blogs/cwalzer/Conferencias/2008_05_20_IIS7.zip"&gt;WAS&lt;/a&gt; (Windows Service Activation Process) que muestran servicio WCF accedido por protolos non-http.&lt;/p&gt;
&lt;p&gt;Pr&amp;oacute;ximamente podr&amp;aacute;n&amp;nbsp;ver la presentaci&amp;oacute;n&amp;nbsp;por demanda &lt;a target="_blank" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032376096&amp;amp;EventCategory=5&amp;amp;culture=es-AR&amp;amp;CountryCode=AR"&gt;aqu&amp;iacute;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2008/05/20/conferencia-iis-7-para-desarrolladores.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1624954" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/WCF/default.aspx">WCF</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/IIS/default.aspx">IIS</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Windows+2008/default.aspx">Windows 2008</category></item><item><title>Conferencia: Materiales de Desarrollando aplicaciones en IIS 7.0.</title><link>http://msmvps.com/blogs/cwalzer/archive/2008/02/27/conferencia-materiales-de-desarrollando-aplicaciones-en-iis-7-0.aspx</link><pubDate>Wed, 27 Feb 2008 14:49:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1526141</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1526141</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2008/02/27/conferencia-materiales-de-desarrollando-aplicaciones-en-iis-7-0.aspx#comments</comments><description>&lt;p&gt;Adjunto encontrar&amp;aacute;n los materiales de la &lt;a href="http://msmvps.com/blogs/cwalzer/archive/2008/02/07/conferencia-online-msdn-desarrollando-aplicaciones-bajo-la-plataforma-internet-information-services-7-0.aspx"&gt;Conferencia OnLine&amp;nbsp;MSDN: Desarrollando aplicaciones bajo la plataforma Internet Information Server 7.0&lt;/a&gt;, que brind&amp;eacute; con el amigo &lt;a target="_blank" href="http://msmvps.com/controlpanel/blogs/http:\\blogs.msdn.com\masaez"&gt;Miguel Angel Saez&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En algunos d&amp;iacute;as podr&amp;aacute;n verla a demanda &lt;a target="_blank" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032366698&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR"&gt;aqu&amp;iacute;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Espero haya sido de ayuda.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/blogs/cwalzer/Conferencias/2008_02_26_IIS7.zip"&gt;Descargar Materiales&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2008/02/27/conferencia-materiales-de-desarrollando-aplicaciones-en-iis-7-0.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1526141" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Capacitacion/default.aspx">Capacitacion</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/WCF/default.aspx">WCF</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/IIS/default.aspx">IIS</category></item><item><title>Diagnóstico de caída del w3wp.exe con ASP.NET 2.0 y WCF</title><link>http://msmvps.com/blogs/cwalzer/archive/2008/02/07/w3wpcrash.aspx</link><pubDate>Thu, 07 Feb 2008 14:47:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1501514</guid><dc:creator>cwalzer</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1501514</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2008/02/07/w3wpcrash.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;La informaci&amp;oacute;n de este post est&amp;aacute; basada en el uso emp&amp;iacute;rico del siguiente art&amp;iacute;culo &amp;ldquo;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-weight:bold;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/911816/es"&gt;Las excepciones no controladas hacen aplicaciones que se las cierran inesperadamente en el .NET Framework, 2,0, basadas en ASP.NET&lt;/a&gt;&lt;/span&gt;&amp;rdquo;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Cuando nos enfrentamos a ca&amp;iacute;das del worker process en Internet Information Server, la informaci&amp;oacute;n que encontramos en el Event Log es una de las puntas para empezar la investigaci&amp;oacute;n.&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Ante una ca&amp;iacute;da (crash) del proceso w3wp.exe&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;(worker process) el sistema operativo informa el hecho en el Event Viewer con 3 entradas.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;A continuaci&amp;oacute;n un ejemplo muestra los eventos sucedidos en forma cronol&amp;oacute;gica:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Secci&amp;oacute;n Application&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event Type:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;Error&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;.NET Runtime 2.0 Error Reporting&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event Category:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;None&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5000&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Date:&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;&amp;nbsp;1/8/2008&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Time:&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;&amp;nbsp;7:23:11 AM&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;User:&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;&amp;nbsp;N/A&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Computer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PC&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Description:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;EventType clr20r3, P1&lt;b&gt;&lt;span style="color:#ff0000;"&gt; w3wp.exe&lt;/span&gt;&lt;/b&gt;, P2 6.0.3790.3959, P3 45d6968e, P4 &lt;b&gt;&lt;span style="color:#ff0000;"&gt;mscorlib&lt;/span&gt;&lt;/b&gt;, P5 2.0.0.0, P6 46b3e871, P7 331e, P8 21c, P9 &lt;b&gt;&lt;span style="color:#ff0000;"&gt;system.io.ioexception&lt;/span&gt;&lt;/b&gt;, P10 NIL.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event Type:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;Error&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;Application Error&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event Category:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(100)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1000&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Date:&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;&amp;nbsp;1/8/2008&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Time:&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;&amp;nbsp;7:23:32 AM&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;User:&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;&amp;nbsp;N/A&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Computer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PC&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Description:&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Faulting application &lt;b&gt;&lt;span style="color:#ff0000;"&gt;w3wp.exe&lt;/span&gt;&lt;/b&gt;, version 6.0.3790.3959, faulting module kernel32.dll, version 5.2.3790.3959, fault address 0x0000bee7.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Secci&amp;oacute;n System&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event Type:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;Warning&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;W3SVC&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event Category:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;None&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1011&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Date:&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;&amp;nbsp;1/8/2008&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Time:&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;&amp;nbsp;7:23:35 AM&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;User:&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;&amp;nbsp;N/A&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Computer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PC&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Description:&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:9pt;color:#ff0000;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;A process serving application pool &amp;#39;MiSistema.AppPool&amp;#39; suffered a fatal communication error with the World Wide Web Publishing Service. The process id was &amp;#39;10232&amp;#39;. The data field contains the error number.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;La &amp;uacute;nica punta que tenemos hasta el momento es que el tipo de la Excepci&amp;oacute;n que produjo la ca&amp;iacute;da es System.IO.IOException, pero necesitar&amp;iacute;amos el stack trace para poder hacer un diagn&amp;oacute;stico.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="MARGIN:10pt 0in 0pt;"&gt;&lt;span style="mso-ansi-language:ES-AR;"&gt;&lt;span style="font-size:medium;"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;&amp;iquest;Porque se produce una ca&amp;iacute;da del w3wp.exe?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Conocer porqu&amp;eacute; se produce una ca&amp;iacute;da del worker process nos dar&amp;aacute; un indicio por d&amp;oacute;nde empezar a buscar.&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Una Excepci&amp;oacute;n no atrapada en nuestro c&amp;oacute;digo cuyo c&amp;oacute;digo corre en un hilo del thread pool de ASP.NET ser&amp;aacute; atrapada por el mismo ASP.NET, formateada en la t&amp;iacute;pica pantalla naranja y mostrada al usuario. Lo mismo sucede con un servicio WCF que corre en IIS, la Excepci&amp;oacute;n no atrapada ser&amp;aacute; lanzada al invocador o en el mejor de los casos podemos atraparla centralizadamente en un behavior implementado la interfaz &lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES-AR;mso-no-proof:yes;"&gt;System.ServiceModel.Dispatcher.IErrorHandler.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES-AR;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;La ca&amp;iacute;da se produce entonces cuando la excepci&amp;oacute;n no es atrapada en un hilo secundario al del thread pool de ASP.NET, o cualquier otro hilo que no corra dentro del pipeline de ASP.NET. Podr&amp;iacute;a ser el caso de una excepci&amp;oacute;n no atrapada en:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:Symbol;mso-ansi-language:ES-AR;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&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;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Finalizer (cuyo c&amp;oacute;digo se ejecuta en un hilo del GC) &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:Symbol;mso-ansi-language:ES-AR;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&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;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;C&amp;oacute;digo ejecutado asinrc&amp;oacute;nicamente mediante un delegado&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:Symbol;mso-ansi-language:ES-AR;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&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;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Alg&amp;uacute;n componente que utilice un thread pool propio.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:Symbol;mso-ansi-language:ES-AR;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&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;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Etc.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;En la versi&amp;oacute;n de ASP.NET 2.0 el comportamiento por defecto de que sucede cuando una excepci&amp;oacute;n no es atrapada en un hilo que no pertenece el thread pool es producir la ca&amp;iacute;da del worker process.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Esto no suced&amp;iacute;a en versiones anteriores ASP.NET 1.0 y 1.1, donde el comportamiento es el contrario. Este cambio se debe a que una excepci&amp;oacute;n no atrapada no permite la ejecuci&amp;oacute;n de c&amp;oacute;digo que en situaciones normales hubiese liberado recursos. De esta forma se evita la degradaci&amp;oacute;n del equipo o el abandono de locks. &lt;/span&gt;&lt;/p&gt;
&lt;h2 style="MARGIN:10pt 0in 0pt;"&gt;&lt;span style="mso-ansi-language:ES-AR;"&gt;&lt;span style="font-size:medium;"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;Evitar ca&amp;iacute;da del Worker Process (no recomendable)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;En ASP.NET 2.0 es posible controlar este comportamiento modificando la entrada del aspnet.config&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#a31515;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;configuration&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#a31515;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;runtime&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#a31515;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;legacyUnhandledExceptionPolicy&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;color:#ff0000;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;enabled&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;=&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:10pt;color:#a31515;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;runtime&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:10pt;color:#a31515;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;configuration&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Dem&amp;aacute;s est&amp;aacute; decir que esta pr&amp;aacute;ctica &lt;b style="mso-bidi-font-weight:normal;"&gt;no es recomendable&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Como informaci&amp;oacute;n agregada&amp;nbsp;he aqu&amp;iacute; un extracto del documento &lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;&lt;a target="_blank" href="http://msdn2.microsoft.com/es-es/netframework/aa497241(en-us).aspx"&gt;CLR Run-Time Breaking Changes&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt; &lt;br /&gt;
&lt;table cellspacing="0"&gt;

&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Short Description&lt;/b&gt;&lt;/td&gt;
&lt;td colspan="5"&gt;Unhandled exceptions will always be fatal to a process&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Affected APIs&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Severity&lt;/b&gt;&lt;/td&gt;
&lt;td align="center"&gt;Medium&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Compat Switch Available&lt;/b&gt;&lt;/td&gt;
&lt;td align="center"&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="6"&gt;
&lt;hr /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/td&gt;
&lt;td colspan="5"&gt;Unhandled exceptions will always be fatal to the process. They weren&amp;#39;t necessarily always fatal in V1.0/V1.1. &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="6"&gt;
&lt;hr /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;User Scenario&lt;/b&gt;&lt;/td&gt;
&lt;td colspan="5"&gt;Applications that throw unhandled exceptions on threads other than the main thread (or ones that come into the runtime from the outside) will crash rather than continue running (when they are potentially in an invalid state)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="6"&gt;
&lt;hr /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Work Around&lt;/b&gt;&lt;/td&gt;
&lt;td colspan="5"&gt;
&lt;p&gt;Put a catch block at the top of your non-main thread, threadpool workitem, or finalizer. (Or else fix the bug that led to the exception.)&lt;/p&gt;
&lt;p&gt;Alternatively, in the section of the application&amp;#39;s config file, add the following:&lt;code&gt;&amp;lt;legacyUnhandledExceptionPolicy enabled=&amp;quot;1&amp;quot;/&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="MARGIN:10pt 0in 0pt;"&gt;&lt;span style="mso-ansi-language:ES-AR;"&gt;&lt;span style="font-size:medium;"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;Como registrar Excepciones que producen ca&amp;iacute;das del w3wp.exe&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Una forma no tan simple, pero certera de diagnosticar el problema es hacer un dump del proceso con la herramienta debugdiag.exe al momento de la ca&amp;iacute;da. Pero claro no es una tarea sencilla...&lt;br /&gt;&lt;br /&gt;Tal como lo indica el &lt;a target="_blank" href="http://support.microsoft.com/kb/911816/es"&gt;art&amp;iacute;culo&lt;/a&gt;, es posible registrar las excepciones que producen la ca&amp;iacute;da del worker process, agregando un HttpModule de ASP.NET.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;La primera ventaja que encontramos aqu&amp;iacute; es que un HttpModule se puede agregar por configuraci&amp;oacute;n sin necesidad de recompilar.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;La segunda es que este funciona para cualquier c&amp;oacute;digo que corra por el pipeline de ASP.NET, ya sea c&amp;oacute;digo ASP.NET, un ASMX o un servicio WCF.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;La clave de este module es suscribirse al evento A&lt;/span&gt;&lt;span style="font-size:11pt;color:#000000;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES-AR;"&gt;ppDomain.CurrentDomain.UnhandledException &lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;que ser&amp;aacute; lanzado frente a una First Chance Exception, y el cual no modifica el curso, con lo cual luego se lanzar&amp;aacute; la Second Chance Exception, que producir&amp;aacute; la ca&amp;iacute;da.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Es aqu&amp;iacute; entonces donde recibimos por par&amp;aacute;metro la excepci&amp;oacute;n ocurrida y la registramos en el Event Log por ejemplo.&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;De esta forma podremos obtener informaci&amp;oacute;n detallada de la excepci&amp;oacute;n, como ser el mensaje y el stack trace.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;&lt;strong&gt;Nota&lt;/strong&gt;: El hecho de agregar el HttpModuile, no evita la ca&amp;iacute;da del w3wp.exe.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="MARGIN:10pt 0in 0pt;"&gt;&lt;span style="mso-ansi-language:ES-AR;"&gt;&lt;span style="font-size:medium;"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;Como probar este funcionamiento&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;Basta con lanzar una Exception desde un finalizer para producir la ca&amp;iacute;da del worker process.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="MARGIN:10pt 0in 0pt;"&gt;&lt;span style="mso-ansi-language:ES-AR;"&gt;&lt;span style="font-size:medium;"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;C&amp;oacute;digo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;"&gt;El c&amp;oacute;digo est&amp;aacute; disponible en este &lt;a target="_blank" href="http://support.microsoft.com/kb/911816/es"&gt;art&amp;iacute;culo&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:11pt;color:#000000;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES-AR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2008/02/07/w3wpcrash.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1501514" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/WCF/default.aspx">WCF</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/IIS/default.aspx">IIS</category></item><item><title>Conferencia Online MSDN: Desarrollando aplicaciones bajo la plataforma Internet Information Services 7.0.</title><link>http://msmvps.com/blogs/cwalzer/archive/2008/02/07/conferencia-online-msdn-desarrollando-aplicaciones-bajo-la-plataforma-internet-information-services-7-0.aspx</link><pubDate>Thu, 07 Feb 2008 09:34:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1501097</guid><dc:creator>cwalzer</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1501097</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2008/02/07/conferencia-online-msdn-desarrollando-aplicaciones-bajo-la-plataforma-internet-information-services-7-0.aspx#comments</comments><description>&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;mso-ansi-language:ES-AR;"&gt;Conferencia Online MSDN: Desarrollando aplicaciones bajo la plataforma Internet Information Services 7.0 (nivel 200).&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;table cellpadding="0" style="mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;" class="MsoNormalTable"&gt;

&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td style="BORDER-RIGHT:#d4d0c8;PADDING-RIGHT:0.75pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:0.75pt;PADDING-BOTTOM:0.75pt;BORDER-LEFT:#d4d0c8;PADDING-TOP:0.75pt;BORDER-BOTTOM:#d4d0c8;BACKGROUND-COLOR:transparent;"&gt;&lt;b&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Duraci&amp;oacute;n:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#d4d0c8;PADDING-RIGHT:0.75pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:0.75pt;PADDING-BOTTOM:0.75pt;BORDER-LEFT:#d4d0c8;PADDING-TOP:0.75pt;BORDER-BOTTOM:#d4d0c8;BACKGROUND-COLOR:transparent;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;45 Minutos &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td style="BORDER-RIGHT:#d4d0c8;PADDING-RIGHT:0.75pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:0.75pt;PADDING-BOTTOM:0.75pt;BORDER-LEFT:#d4d0c8;PADDING-TOP:0.75pt;BORDER-BOTTOM:#d4d0c8;BACKGROUND-COLOR:transparent;"&gt;&lt;b&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-size:11.0pt;"&gt;Fecha de Inicio:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#d4d0c8;PADDING-RIGHT:0.75pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:0.75pt;PADDING-BOTTOM:0.75pt;BORDER-LEFT:#d4d0c8;PADDING-TOP:0.75pt;BORDER-BOTTOM:#d4d0c8;BACKGROUND-COLOR:transparent;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;martes, 26 de febrero de 2008 11:00 a.m. Atl&amp;aacute;ntico Central &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td colspan="3" style="BORDER-RIGHT:#d4d0c8;PADDING-RIGHT:0.75pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:0.75pt;PADDING-BOTTOM:0.75pt;BORDER-LEFT:#d4d0c8;PADDING-TOP:0.75pt;BORDER-BOTTOM:#d4d0c8;BACKGROUND-COLOR:transparent;"&gt;&lt;b&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Informaci&amp;oacute;n general del Evento&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;mso-yfti-lastrow:yes;"&gt;
&lt;td colspan="3" style="BORDER-RIGHT:#d4d0c8;PADDING-RIGHT:0.75pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:0.75pt;PADDING-BOTTOM:0.75pt;BORDER-LEFT:#d4d0c8;PADDING-TOP:0.75pt;BORDER-BOTTOM:#d4d0c8;BACKGROUND-COLOR:transparent;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="FONT-SIZE:12pt;mso-ansi-language:ES-AR;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;La &amp;uacute;ltima versi&amp;oacute;n de Internet Information Services disponible en Windows Server 2008 incluye grandes cambios con respecto a sus versiones precedentes. En esta sesi&amp;oacute;n exploraremos algunos aspectos t&amp;eacute;cnicos como su nueva arquitectura, el pipeline integrado de ASP.NET, y su nueva consola de administraci&amp;oacute;n, pero tambi&amp;eacute;n conoceremos las forma en que la plataforma puede ser extendida para el soporte de distintas tecnolog&amp;iacute;as. &lt;/span&gt;&lt;span style="font-size:8.5pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-AR;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="FONT-SIZE:12pt;mso-ansi-language:ES-AR;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Oradores&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;mso-ansi-language:ES-AR;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;: Carlos Walzer &amp;ndash; Miguel Angel Saez.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="FONT-SIZE:12pt;mso-ansi-language:ES-AR;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;a target="_blank" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032366698&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR"&gt;Registraci&amp;oacute;n&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2008/02/07/conferencia-online-msdn-desarrollando-aplicaciones-bajo-la-plataforma-internet-information-services-7-0.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1501097" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Capacitacion/default.aspx">Capacitacion</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/WCF/default.aspx">WCF</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/IIS/default.aspx">IIS</category></item><item><title>Scroll completo para la grilla de ASP.NET</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/11/15/scrollcompletoparalagrilladeaspnet.aspx</link><pubDate>Fri, 16 Nov 2007 00:23:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1318193</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1318193</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/11/15/scrollcompletoparalagrilladeaspnet.aspx#comments</comments><description>&lt;p&gt;Este art&amp;iacute;culo plantea al forma de agregar barras de scroll a una grilla de ASP.NET para poder ver todos sus registros y columnas, y sincroniza el movimiento de la tabla con la cabecera.&lt;/p&gt;
&lt;p&gt;Es un viejo art&amp;iacute;culo que se public&amp;oacute;&amp;nbsp;en MSDN en Espa&amp;ntilde;ol y que ya no est&amp;aacute; en l&amp;iacute;nea.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/blogs/cwalzer/pages/scrollcompletogrilla.aspx"&gt;Ver art&amp;iacute;culo....&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2007/11/16/scrollcompletoparalagrilladeaspnet.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1318193" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/JScript/default.aspx">JScript</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/CCS/default.aspx">CCS</category></item><item><title>MSDN Radio en Vivo: Discusión: Técnicas y Herramientas para Mejorar el Rendimiento de Aplicaciones y Bases de Datos</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/10/26/msdn-radio-en-vivo-discusi-243-n-t-233-cnicas-y-herramientas-para-mejorar-el-rendimiento-de-aplicaciones-y-bases-de-datos.aspx</link><pubDate>Fri, 26 Oct 2007 14:44:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1265488</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1265488</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/10/26/msdn-radio-en-vivo-discusi-243-n-t-233-cnicas-y-herramientas-para-mejorar-el-rendimiento-de-aplicaciones-y-bases-de-datos.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:ES;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Durante el &amp;uacute;ltimo mes los expertos de Solid Quality Mentors han estado discutiendo t&amp;eacute;cnicas para medir y mejorar el rendimiento de las aplicaciones. Durante este show de MSDN Radio &amp;uacute;nase a una discusi&amp;oacute;n en vivo sobre c&amp;oacute;mo optimizar sus aplicaciones, herramientas para medir el rendimiento, mejores t&amp;eacute;cnicas de acceso a datos, tips de optimizaci&amp;oacute;n de c&amp;oacute;digo en SQL Server y c&amp;oacute;mo mejorar el rendimiento de OLAP y Analysis Server.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Te esperamos para que puedas evacuar tus dudas y debatir acerca de como mejorar el rendimiento de tus aplicaciones .NET y bases de datos.&lt;br /&gt;&lt;a target="_blank" href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032357579&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR"&gt;&lt;strong&gt;http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032357579&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Aprovecho la oportunidad para invitarlos a que vean el WebCast de Gustavo Larriera sobre el tema:&lt;br /&gt;&lt;a target="_blank" href="http://blogs.solidq.com/ES/glarriera/Lists/Posts/Post.aspx?ID=51"&gt;&lt;strong&gt;T&amp;eacute;cnicas de ajuste de rendimiento en SQL Server 2005&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2007/10/26/msdn-radio-en-vivo-discusi-243-n-t-233-cnicas-y-herramientas-para-mejorar-el-rendimiento-de-aplicaciones-y-bases-de-datos.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1265488" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Performance/default.aspx">Performance</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ADO.NET/default.aspx">ADO.NET</category></item><item><title>Accediendo a datos en Excel utilizando ADO.NET y ASP.NET</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/10/24/accediendo-a-datos-en-excel-utilizando-ado-net-y-asp-net.aspx</link><pubDate>Wed, 24 Oct 2007 18:40:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1262329</guid><dc:creator>cwalzer</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1262329</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/10/24/accediendo-a-datos-en-excel-utilizando-ado-net-y-asp-net.aspx#comments</comments><description>&lt;p&gt;No es un hecho poco com&amp;uacute;n el que nos encontremos con la necesidad de acceder desde nuestras aplicaciones, ya sean estas de escritorio (Win32) o de Internet (ASP.NET), a datos almacenados en otros formatos que no sean bases de datos. En este articulo les mostraremos como leer una planilla &lt;b&gt;Excel&lt;/b&gt; subida por un usuario a un sitio Web utilizando &lt;b&gt;ADO.NET&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/blogs/cwalzer/pages/exceladoaspnet.aspx"&gt;Ver art&amp;iacute;culo completo....&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2007/10/24/accediendo-a-datos-en-excel-utilizando-ado-net-y-asp-net.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1262329" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Excel/default.aspx">Excel</category></item><item><title>Mes de Mejoras de Desempeño en MSDN por Solid Quality Mentors</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/10/18/mes-del-buen-desempeno-en-msdn-por-solid-quality-mentors.aspx</link><pubDate>Thu, 18 Oct 2007 15:04:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1250902</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1250902</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/10/18/mes-del-buen-desempeno-en-msdn-por-solid-quality-mentors.aspx#comments</comments><description>&lt;p&gt;En el transcurso de este mes los mentores de Solid Quality Mentors hemos difundido nuestros conocimientos en MSDN Latino América, acerca de las técnicas disponibles para Mejora de Desempeño de aplicaciones Microsoft.&lt;/p&gt;
&lt;p&gt;Aquí podrás encontrar la información del wecast que dí, el mismo está en línea para que lo puedas ver a demanda:&lt;br /&gt;&lt;a class="" href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032354007&amp;amp;Culture=es-AR" target="_blank"&gt;&lt;strong&gt;Herramientas para mejorar el desempeño de las aplicaciones .NET Framework&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Material relacionado con este webcast:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://blogs.solidq.com/ES/cwalzer/Recursos/WebCast_HerrMejoraDesempNET_200710/HerrDesempAppNET.pdf" target="_blank"&gt;&lt;strong&gt;Presentación&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://blogs.solidq.com/ES/cwalzer/Recursos/WebCast_HerrMejoraDesempNET_200710/HerrDesempAppNET.zip" target="_blank"&gt;&lt;strong&gt;Ejemplos de código&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Aquí podrás consultar las otras presentaciones relacionadas con este tema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://blogs.solidq.com/ES/dseara/Lists/Posts/Post.aspx?ID=38" target="_blank"&gt;¿Hablamos del rendimiento de las aplicaciones?&lt;/a&gt; por Daniel Seara&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032355951&amp;amp;Culture=es-AR" target="_blank"&gt;Measuring Performance in ASP.NET Applications&lt;/a&gt; por Eugenio Serrano&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032355952&amp;amp;Culture=es-AR" target="_blank"&gt;Techniques for Performance Tuning ADO.NET Data Access Code&lt;/a&gt; por Adolfo Wiernik&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Y como el mes no terminó, aún queda más material por venir&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;script type="text/javascript"&gt;
digg_url = &amp;#39;http://msmvps.com/blogs/cwalzer&amp;#39;;
digg_bgcolor = &amp;#39;#ff9900&amp;#39;;
digg_skin = &amp;#39;compact&amp;#39;;
digg_window = &amp;#39;new&amp;#39;;
&lt;/script&gt;

&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://msmvps.com/blogs/cwalzer"&gt;&lt;img alt="Agregar a Technorati" src="http://static.technorati.com/pix/fave/btn-fave2.png" border="0" /&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1250902" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Capacitacion/default.aspx">Capacitacion</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Performance/default.aspx">Performance</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/VS+Team+Systems/default.aspx">VS Team Systems</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ADO.NET/default.aspx">ADO.NET</category></item><item><title>HTTP 411 Length Required al ejecutar Web Test</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/09/24/http-411-length-required-al-ejecutar-web-test.aspx</link><pubDate>Mon, 24 Sep 2007 18:05:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1213681</guid><dc:creator>cwalzer</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1213681</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/09/24/http-411-length-required-al-ejecutar-web-test.aspx#comments</comments><description>&lt;p&gt;Si al ejecutar un Web Test en Visual Studio 2005 recibes un error HTTP 411 del servidor web, es probable que encuentres soluci&amp;oacute;n con esta recomendaci&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problema&lt;/strong&gt;&lt;br /&gt;Al grabar un Web Test con Fiddler, a los requests que no tiene una colecci&amp;oacute;n de valores en &amp;quot;Form Post Parameters&amp;quot; le asgina la propiedad Transport.Method = POST.&lt;/p&gt;
&lt;p&gt;Cuando se ejecuta el web test el Request generado es el siguiente&lt;/p&gt;
&lt;p&gt;&lt;em&gt;POST /localhost/algunallamada.aspx&lt;br /&gt;Content-Type : application/x-www-form-urlencoded&lt;br /&gt;Pragma : no-cache&lt;br /&gt;User-Agent : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)&lt;br /&gt;Accept : */*&lt;br /&gt;Accept-Language : en-US&lt;br /&gt;Host : walzer3&lt;br /&gt;Cookie : ASP.NET_SessionId=iclqf455ckclxr45fsfeq4yt&lt;br /&gt;Accept-Encoding : gzip&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Aca podemos notar que se emite el Content-Length. IIS entonces al no recibir datos ni tener espeficado expl&amp;iacute;citamente su tama&amp;ntilde;o (Content-Length : 0), devuelve un error HTTP 411:&lt;/p&gt;
&lt;p&gt;Headers:&lt;br /&gt;&lt;em&gt;HTTP/1.1 411 Length Required&lt;br /&gt;Connection : close&lt;br /&gt;Cache-Control : private&lt;br /&gt;Content-Length : 24&lt;br /&gt;Content-Type : text/html&lt;br /&gt;Date : Mon, 24 Sep 2007 20:42:53 GMT&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Body:&lt;br /&gt;&lt;em&gt;&amp;lt;h1&amp;gt;Length Required&amp;lt;/h1&amp;gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Soluci&amp;oacute;n&lt;br /&gt;&lt;/strong&gt;Cambiar la propiedad Transport.Method = GET&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2007/09/24/http-411-length-required-al-ejecutar-web-test.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1213681" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/VS+Team+Systems/default.aspx">VS Team Systems</category></item><item><title>Webcast: Herramientas para mejorar el desempeño de las aplicaciones .NET Framework</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/09/20/webcast-herramientas-para-mejorar-el-desempe-241-o-de-las-aplicaciones-net-framework.aspx</link><pubDate>Thu, 20 Sep 2007 21:58:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1207903</guid><dc:creator>cwalzer</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1207903</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/09/20/webcast-herramientas-para-mejorar-el-desempe-241-o-de-las-aplicaciones-net-framework.aspx#comments</comments><description>&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="color:#365f91;mso-ansi-language:ES-CR;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="color:#000000;"&gt;Los invito a escuchar este webcast que dar&amp;eacute; el Viernes 5 de Octubre 2007.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="color:#365f91;mso-ansi-language:ES-CR;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="color:#365f91;mso-ansi-language:ES-CR;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="color:#000000;"&gt;&lt;em&gt;Daremos una recorrida por las herramientas que propone Microsoft para Detectar y Diagnosticar problemas de desempe&amp;ntilde;o y mal uso de la memoria de aplicaciones .NET: Visual Studio 2005 Team System para hacer pruebas de carga y stress sobre sitios ASP.NET. CLR Profiler y Visual Studio 2005 Team System para hacer profiling de c&amp;oacute;digo y de memoria.&amp;nbsp; Fiddler para hacer debugging de HTTP.&amp;nbsp; Todas ellas, en conjunto, son de gran ayuda al momento de mejorar el desempe&amp;ntilde;o de nuestras aplicaciones.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032354007&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR"&gt;Registrarse&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2007/09/20/webcast-herramientas-para-mejorar-el-desempe-241-o-de-las-aplicaciones-net-framework.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1207903" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Capacitacion/default.aspx">Capacitacion</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Performance/default.aspx">Performance</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Testing/default.aspx">Testing</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/VS+Team+Systems/default.aspx">VS Team Systems</category></item><item><title>Visual Studio 2005 Web Test usando XmlHttpRequest y AJAX</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/09/12/visual-studio-2005-web-test-usando-xmlhttprequest-y-ajax.aspx</link><pubDate>Wed, 12 Sep 2007 13:07:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1188854</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1188854</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/09/12/visual-studio-2005-web-test-usando-xmlhttprequest-y-ajax.aspx#comments</comments><description>&lt;p&gt;Si est&amp;aacute;s intentando grabar un web test con Visual Studio 2005, te habr&amp;aacute;s topado con la dificultad de que el grabador no se entera de las llamadas v&amp;iacute;a &lt;strong&gt;XmlHttpRequest&lt;/strong&gt;, y por ende &lt;strong&gt;AJAX&lt;/strong&gt; (ya que AJAX usa internamente XmlHttpRequest como mecanismo de comunicaci&amp;oacute;n).&lt;/p&gt;
&lt;p&gt;Acabo de agregar un comentario en la secci&amp;oacute;n &amp;quot;&lt;em&gt;Community Content&lt;/em&gt;&amp;quot; del help en l&amp;iacute;nea de Visual Studio Team System &amp;quot;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms182539(VS.80).aspx"&gt;How to: Record a Web Test&lt;/a&gt;&amp;quot;, justamente haciendo esta aclaraci&amp;oacute;n; ya que toda la informaci&amp;oacute;n que encontr&amp;eacute; hace referencia a la soluci&amp;oacute;n del problema si el sitio usa AJAX, pero nadie habla de XmlHttpRequest.&lt;/p&gt;
&lt;p&gt;La soluci&amp;oacute;n entonces le cabe a ambas opciones y es usar la herramienta &lt;a href="http://www.fiddlertool.com/fiddler/"&gt;Fiddler&lt;/a&gt;&amp;nbsp;para grabar un web test. Aqu&amp;iacute; se explica &lt;a href="http://fiddlertool.com/Fiddler/help/WebTest.asp"&gt;Como grabar un Web Test con Fiddler&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ahora bien, como es que&amp;nbsp;Fiddler puede hacerlo y Visual Studio no?&amp;nbsp; La diferencia radica en la t&amp;eacute;cnica que utilizan para grabar.&amp;nbsp; El grabador de Visual Studio 2005&amp;nbsp;corre dentro del&amp;nbsp;Internet Explorer como un add-on intereceptando los post y get que IE realiza y no tiene inferencia en el c&amp;oacute;digo DHTML que se ejecuta, es por eso que no puede detectar los post realizados por XmlHttpRequest. Lo puedes encontrar instalado en la ventana Manage Add-ons de IE.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://msmvps.com/photos/cwalzer/images/1189622/original.aspx" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;En cambio Fiddler act&amp;uacute;a como un proxy atendiendo en el puerto 8888 del localhost, interceptando los post y get y redireccion&amp;aacute;ndolos a su destino final, el server.&amp;nbsp; De esta forma Fiddler se entrea de todos los post que llegan al servidor, los haya enviado quien fuere. Cuando Fiddler est&amp;aacute; corriendo ver&amp;aacute;n modificado los valores de WinInet de IE.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://msmvps.com/photos/cwalzer/images/1221463/original.aspx" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2007/09/12/visual-studio-2005-web-test-usando-xmlhttprequest-y-ajax.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1188854" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Testing/default.aspx">Testing</category></item><item><title>El debugging es solo para eso: Depuración</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/09/11/el-debugging-es-solo-para-eso-depuraci-243-n.aspx</link><pubDate>Tue, 11 Sep 2007 16:06:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1186316</guid><dc:creator>cwalzer</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1186316</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/09/11/el-debugging-es-solo-para-eso-depuraci-243-n.aspx#comments</comments><description>&lt;p&gt;Para confirmar lo que mi amigo &lt;a href="http://msmvps.com/blogs/pmackay/default.aspx"&gt;Patrick MacKay&lt;/a&gt; explica en estos 3 art&amp;iacute;culos:&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/pmackay/archive/2007/05/08/post0c.aspx"&gt;&amp;iquest;Por qu&amp;eacute; debo definir &amp;quot;debug=false&amp;quot; en web.config?, Parte I&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/pmackay/archive/2007/05/23/post0e.aspx"&gt;&amp;iquest;Por qu&amp;eacute; debo definir &amp;quot;debug=false&amp;quot; en web.config?, Parte II&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/pmackay/archive/2007/07/12/post13.aspx"&gt;&amp;iquest;Por qu&amp;eacute; no debo compilar en modo debug?, Parte III&lt;/a&gt;&lt;br /&gt;,quisiera mostrarles los resultados de la ejecuci&amp;oacute;n de test de stress sobre un sitio ASP.NET compilado en modo debug.&lt;/p&gt;
&lt;p&gt;Me top&amp;eacute; con un caso en el cual el sitio hab&amp;iacute;a sido compilado en modo debug y habilitado &lt;em&gt;debug=true&lt;/em&gt; en el web.config . Claro no me enter&amp;eacute; de esto hasta que me dijeron: &amp;quot;&lt;em&gt;Pusimos a correr la prueba y no anduvo, hay un valor % Time in Jit que est&amp;aacute; muy alto&lt;/em&gt;&amp;quot;. Y efectivamente estaba muy alto:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://msmvps.com/photos/cwalzer/images/1186299/original.aspx" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Noten que el contador &lt;strong&gt;% Time in Jit&lt;/strong&gt; de la categor&amp;iacute;a &lt;strong&gt;.NET CLR JIT&lt;/strong&gt; se mantiene constante durante 3 horas a valores alt&amp;iacute;simos. Los umbrales propuestos por Visual Studio 2005 para este contador son:&lt;br /&gt;&lt;strong&gt;Warning: 25&lt;br /&gt;Critical: 50&lt;br /&gt;&lt;/strong&gt;Seg&amp;uacute;n mi experiencia en una prueba de stress, salvo el primer minuto donde hay picos de hasta 80%, el &lt;strong&gt;valor normal no supera el 1%&lt;/strong&gt;.&lt;br /&gt;Si se fijan la cantidad de Requests/seg que la aplicaci&amp;oacute;n logr&amp;oacute; responder es 0. La aplicaci&amp;oacute;n Web est&amp;aacute; totalmente inhibida.&lt;/p&gt;
&lt;p&gt;Una segunda corrida mas corta tratando de encontrar el problema arroj&amp;oacute; el mismo resultado:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://msmvps.com/photos/cwalzer/images/1186300/original.aspx" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Estas mediciones confirman lo tratado en el art&amp;iacute;culo I, donde Patrick muestra como se sucede la compilaci&amp;oacute;n de un sitio ASP.NET al hacerse una petici&amp;oacute;n. Excelente tratamiento de parte de Patrick al tema.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;El debugging es solo para eso: depuraci&amp;oacute;n.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2007/09/11/el-debugging-es-solo-para-eso-depuraci-243-n.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1186316" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/Performance/default.aspx">Performance</category></item><item><title>Restricción de seguridad al escribir en el EventLog desde ASP.NET</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/08/17/restricci-243-n-de-seguridad-al-escribir-en-el-eventlog-desde-asp-net.aspx</link><pubDate>Fri, 17 Aug 2007 21:08:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1120376</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1120376</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/08/17/restricci-243-n-de-seguridad-al-escribir-en-el-eventlog-desde-asp-net.aspx#comments</comments><description>&lt;p&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;br /&gt;Si nuestras aplicaciones registran informaci&amp;oacute;n de excepciones o tracing en el EventLog, es probable que nos encontremos con que no est&amp;eacute;n funcionando cuando pasemos nuestras aplicaciones a producci&amp;oacute;n.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;La escritura de una entrada en el EventLog implica la existencia de una entrada en &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-TRAD;"&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt; de la Registry. Por ejemplo las aplicaciones ASP.NET que corren en un ambiente de producci&amp;oacute;n, se encuentran bajo un contexto de seguridad restringido, el cual no tiene privilegios de escritura en la Registry. Recordemos que en Windows 2003, las aplicaciones ASP.NET, por defecto corren bajo una cuenta Network Service Account, la cual no tiene acceso de escritura a la registry.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Tal como dijimos, la escritura de una entrada en el EventLog implica la existencia de una entrada en &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES-TRAD;"&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt; de la Registry que se corresponde con el nombre del &amp;ldquo;Source&amp;rdquo; que figura en la ventana que lo muestra.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Ejemplo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt; &amp;nbsp; Para Source = EjemploExcepciones&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;/span&gt; &lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;&lt;img src="http://msmvps.com/photos/cwalzer/images/1120381/original.aspx" alt="" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Debe existir la entrada: &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\&lt;/span&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt; EjemploExcepciones&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;&lt;img src="http://msmvps.com/photos/cwalzer/images/1120382/original.aspx" alt="" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-ansi-language:ES-TRAD;"&gt;El contenido del value EventMessageFile se corresponde con la librer&amp;iacute;a que registra la entrada en el Event Log.&lt;br /&gt;&lt;/span&gt;En el caso de .NET: &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;N&amp;oacute;tese que &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;v2.0.50727&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt; es la versi&amp;oacute;n del .NET Framework con la que corre la aplicaci&amp;oacute;n que quiera registrar entradas en el Event Log para ese &amp;ldquo;Source&amp;rdquo;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="MARGIN:10pt 0cm 0pt;"&gt;&lt;a name="_Toc170099909" title="_Toc170099909"&gt;&lt;/a&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:large;color:#17365d;font-family:Calibri;"&gt;Soluci&amp;oacute;n&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Asegurarse que la entrada que se corresponde con el nombre del &amp;ldquo;Source&amp;rdquo; exista en la registry. Para ello, recomiendo desarrollar una aplicaci&amp;oacute;n del tipo instalador para registrar el &amp;ldquo;Source&amp;rdquo;, la cual se ejecutar&amp;aacute; una sola vez al momento de instalar la aplicaci&amp;oacute;n.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-family:Calibri;"&gt;Cree un proyecto del tipo Class Library (&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;InstaladorRegistry.dll&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-family:Calibri;"&gt;), e incluya una clase con el siguiente c&amp;oacute;digo. O incluya este c&amp;oacute;digo en el instalador de su aplicaci&amp;oacute;n:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt;Imports&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt; System&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Imports&lt;/span&gt; System.Configuration.Install&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Imports&lt;/span&gt; System.Diagnostics&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Imports&lt;/span&gt; System.ComponentModel&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&amp;lt;RunInstaller(&lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;)&amp;gt; _&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;&lt;br /&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt; CustomEventLogInstaller&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Inherits&lt;/span&gt; System.Configuration.Install.Installer&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; customEventLogInstaller &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; EventLogInstaller&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt;()&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;MyBase&lt;/span&gt;.New()&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="color:#008000;"&gt;&amp;#39;Registrar el Event Log Source = &amp;quot;MiAplicacionSource&amp;quot; para el log &amp;quot;Application&amp;quot;&lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;customEventLogInstaller = &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; EventLogInstaller&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;customEventLogInstaller.Source = &amp;quot;MiAplicacionSource&amp;quot;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;customEventLogInstaller.Log = &amp;quot;Application&amp;quot;&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Installers.Add(customEventLogInstaller)&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Shared&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Main()&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="color:#0000ff;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Utilizarla de la siguiente forma:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstallUtil.exe InstaladorRegistry.dll&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Observemos el Log del proceso de instalaci&amp;oacute;n:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;Instalando ensamblado &amp;#39;c:\carlos walzer\architect\InstaladorRegistry\bin\InstaladorRegistry.dll&amp;#39;.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;Los par&amp;aacute;metros afectados son:&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assemblypath = c:\carlos walzer\architect\InstaladorRegistry\bin\InstaladorRegistry.dll&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;logfile = c:\carlos walzer\architect\InstaladorRegistry\bin\InstaladorRegistry.InstallLog&lt;br /&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;Creando el origen de EventLog MiAplicacionSource en el registro Application...&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;Confirmando ensamblado &amp;#39;c:\carlos walzer\architect\InstaladorRegistry\bin\InstaladorRegistry.dll&amp;#39;.&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;La misma cumple funciones de desinstalaci&amp;oacute;n:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt;InstallUtil.exe /u InstaladorRegistry.dll&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:ES;mso-fareast-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Log del proceso de desinstalaci&amp;oacute;n:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;Desinstalando ensamblado &amp;lsquo;c:\carlos walzer\architect\InstaladorRegistry\bin\InstaladorRegistry.dll&amp;#39;.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;Los par&amp;aacute;metros afectados son:&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assemblypath = c:\carlos walzer\architect\InstaladorRegistry\bin\InstaladorRegistry.dll&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;br /&gt;&lt;/span&gt;logfile = c:\carlos walzer\architect\InstaladorRegistry\bin\InstaladorRegistry.InstallLog&lt;br /&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;Quitando el origen de EventLog MiAplicacionSource.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h1 style="MARGIN:10pt 0cm 0pt;"&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:large;"&gt;&lt;span style="color:#17365d;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;iexcl;Importante!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Ya se habr&amp;aacute;n imaginado que todo este trabajo que hicimos es para &lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="color:#ff0000;"&gt;NO&lt;/span&gt;&lt;/b&gt; dale permisos de escritura sobre la registry al usuario con el cual est&amp;aacute; corriendo la aplicaci&amp;oacute;n. Si bien es el camino m&amp;aacute;s f&amp;aacute;cil, esto traer&amp;iacute;a consecuencias de inseguridad para nuestro sistema.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="MARGIN:10pt 0cm 0pt;"&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:large;"&gt;&lt;span style="color:#17365d;"&gt;&lt;span style="font-family:Calibri;"&gt;Desestime el uso del EventLog&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Expuesta la soluci&amp;oacute;n me gustar&amp;iacute;a darles mi punto de vista por el cual desestimar la escritura de informaci&amp;oacute;n de Excepciones o Tracing en el EventLog:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Como vieron, hay implicancias de seguridad que de no detectarse, har&amp;iacute;an que informaci&amp;oacute;n valiosa se estuviera perdiendo.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;De la misma forma, se requieren permisos de Administrador para la lectura del eventLog mediante la aplicaci&amp;oacute;n EventViewer, lo cual deja afuera a muchos usuarios interesados en ella que no tienen estos privilegios en un ambiente de producci&amp;oacute;n.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Symbol;mso-ansi-language:ES;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:Symbol;mso-ansi-language:ES;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Esta informaci&amp;oacute;n est&amp;aacute; distribuida en cada servidor, y su recolecci&amp;oacute;n y centralizaci&amp;oacute;n puede ser engorrosa.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Symbol;mso-ansi-language:ES;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:Symbol;mso-ansi-language:ES;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;El EventLog tiene una capacidad m&amp;aacute;xima, y por defecto descarta la informaci&amp;oacute;n mas antigua cuando llega a su tope, con lo cual estar&amp;iacute;an perdiendo informaci&amp;oacute;n valiosa a la hora de investigar un problema.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Symbol;mso-ansi-language:ES;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:Symbol;mso-ansi-language:ES;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Si para salvar el punto anterior aumentan el tama&amp;ntilde;o del EventLog, ver&amp;iacute;an afectado la performance de la aplicaci&amp;oacute;n. Un valor aceptable no deber&amp;iacute;a superar los 10 Mb.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;h1 style="MARGIN:10pt 0cm 0pt;"&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:large;"&gt;&lt;span style="color:#17365d;"&gt;&lt;span style="font-family:Calibri;"&gt;Otros mecanismos para reemplazar el EventLog&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Existen otros mecanismos y librer&amp;iacute;as totalmente configurables y extensibles que fueron pensadas para el registro de informaci&amp;oacute;n del tipo Excepciones o Tracing. Les recomiendo que adopten a su gusto cualquiera de estas dos herramientas las cuales me dieron muy buenos resultados:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;&lt;a target="_blank" href="http://logging.apache.org/log4net/"&gt;Log4Net&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Microsoft Sans Serif&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:ES;"&gt;&lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/aa480464.aspx"&gt;Logging Application Block&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:ES;"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;script src="http://feeds.feedburner.com/~s/cWalzer?i=http://msmvps.com/blogs/cwalzer/archive/2007/09/11/el-debugging-es-solo-para-eso-depuraci-243-n.aspx" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1120376" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Atributos redundantes del AssemblyInfo.cs de forma centralizada</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/07/08/atributos-redundantes-del-assemblyinfo-cs-de-forma-centralizada.aspx</link><pubDate>Sun, 08 Jul 2007 03:28:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1008432</guid><dc:creator>cwalzer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=1008432</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/07/08/atributos-redundantes-del-assemblyinfo-cs-de-forma-centralizada.aspx#comments</comments><description>&lt;p&gt;Es un hecho factible que&amp;nbsp;alrededor del&amp;nbsp;90% de las aplicaciones desarrolladas en Visual Studio 2003 o 2005&amp;nbsp;sean soluciones que contengan varios proyectos: Windows Apllication + Class Library o Web Site + Class Library + Web Service, etc. Sea cual fuere el tipo o cantidad de proyectos definidos, es muy probable que en ellos encontremos definidos en archivos AssemblyInfo.cs atributos del tipo &lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;[assembly: ]&lt;/span&gt;redundantes.&amp;nbsp;La forma de poder centralizar esa información es crear un archivo que llamaremos GlobalAssemblyInfo.cs en la carpeta virtual &amp;quot;Solution Items&amp;quot; de la solución:&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;using&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font color="#000000"&gt; System.Reflection;&lt;br /&gt;&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;using&lt;/span&gt;&lt;font color="#000000"&gt; System.Runtime.CompilerServices;&lt;br /&gt;&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;using&lt;/span&gt;&lt;font color="#000000"&gt; System.Runtime.InteropServices;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;// General Information about an assembly is controlled through the following &lt;br /&gt;// set of attributes. Change these attribute values to modify the information&lt;br /&gt;// associated with an assembly.&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font color="#000000"&gt;[assembly: &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AssemblyCompany&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;Empresa&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;)]&lt;br /&gt;[assembly: &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AssemblyProduct&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;Facturacion&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;)]&lt;br /&gt;[assembly: &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AssemblyCopyright&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;Copyright ©&amp;nbsp;Empresa 2007&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;)]&lt;br /&gt;[assembly: &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AssemblyTrademark&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;)]&lt;br /&gt;[assembly: &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AssemblyCulture&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;)]&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;// Version information for an assembly consists of the following four values:&lt;br /&gt;// Major Version&lt;br /&gt;// Minor Version &lt;br /&gt;// Build Number&lt;br /&gt;// Revision&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;// Las siguientes 2 declaraciones dependerán de la política de versionamiento que adopte para cada uno de los assemblies generados.&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font color="#000000"&gt;[assembly: &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AssemblyVersion&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;4.0.27.0&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;)]&lt;br /&gt;[assembly: &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AssemblyFileVersion&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;4.0.27.0&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;)]&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font color="#000000"&gt;[assembly: &lt;/font&gt;&lt;span style="COLOR:teal;"&gt;AssemblyInformationalVersion&lt;/span&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;span style="COLOR:maroon;"&gt;&amp;quot;4.0&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;)]&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font color="#000000" size="3"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;Cada uno de los proyectos entonces contendrá su típico archivos&amp;nbsp;AssemblyInfo.cs con los atributos específicos:&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;using&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt; System.Reflection;&lt;br /&gt;&lt;span style="COLOR:blue;"&gt;using&lt;/span&gt; System.Runtime.CompilerServices;&lt;br /&gt;&lt;span style="COLOR:blue;"&gt;using&lt;/span&gt; System.Runtime.InteropServices;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:green;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;// General Information about an assembly is controlled through the following &lt;br /&gt;// set of attributes. Change these attribute values to modify the information&lt;br /&gt;// associated with an assembly.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;[assembly: &lt;span style="COLOR:teal;"&gt;AssemblyTitle&lt;/span&gt;(&lt;span style="COLOR:maroon;"&gt;&amp;quot;Facturacion User Interface&amp;quot;&lt;/span&gt;)]&lt;br /&gt;[assembly: &lt;span style="COLOR:teal;"&gt;AssemblyDescription&lt;/span&gt;(&lt;span style="COLOR:maroon;"&gt;&amp;quot;Intrefaz de usuario de Factuaracion&amp;quot;&lt;/span&gt;)]&lt;br /&gt;[assembly: &lt;span style="COLOR:teal;"&gt;AssemblyConfiguration&lt;/span&gt;(&lt;span style="COLOR:maroon;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)]&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt; 
&lt;p&gt;&lt;em&gt;Nota: Nótese que las declaraciones que definen la versión del assembly bien pueden estar definidas en el GlobalAssmeblyInfo.cs, si todos los assmblies llevan el mismo número de versión por cada libración, o en el AssemblyInfo.cs, si cada uno de ellos estan versionados independientemente. Para una mejor compresión lea &lt;/em&gt;&lt;a class="" href="http://msmvps.com/blogs/cwalzer/archive/2007/06/06/versionamiento-de-assemblies.aspx" target="_blank"&gt;&lt;em&gt;Versionamiento de Assemblies&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Resta entonces crear una referencia al archivo GlobalAssemblyInfo.cs en cada proyecto de la solución, para ello:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Haga click derecho sobre el proyecto: &amp;quot;Add&amp;quot;, &amp;quot;New Item&amp;quot;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Seleccione el archivo GlobalAssemblyInfo.cs&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Haga click sobre la flecha a la derecha del botón &amp;quot;Add&amp;quot;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Seleccione &amp;quot;Add as Link&amp;quot;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Por útlimo arrastre la referencia del archivo GlobalAssemblyInfo.cs a la carpeta propiedades.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/font&gt;
&lt;script type="text/javascript"&gt;
digg_url = &amp;#39;http://msmvps.com/blogs/cwalzer&amp;#39;;
digg_bgcolor = &amp;#39;#ff9900&amp;#39;;
digg_skin = &amp;#39;compact&amp;#39;;
digg_window = &amp;#39;new&amp;#39;;
&lt;/script&gt;

&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://msmvps.com/blogs/cwalzer"&gt;&lt;img alt="Agregar a Technorati" src="http://static.technorati.com/pix/fave/btn-fave2.png" border="0" /&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1008432" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Problemas al usar Frames</title><link>http://msmvps.com/blogs/cwalzer/archive/2007/05/31/191-frames-o-master-pages.aspx</link><pubDate>Thu, 31 May 2007 18:18:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:936275</guid><dc:creator>cwalzer</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cwalzer/rsscomments.aspx?PostID=936275</wfw:commentRss><comments>http://msmvps.com/blogs/cwalzer/archive/2007/05/31/191-frames-o-master-pages.aspx#comments</comments><description>&lt;p&gt;Leyendo algunos posts he encontrado &lt;a class="" title="una lista de sugerencias" href="http://groups.google.co.uk/group/microsoft.public.dotnet.framework.aspnet/browse_thread/thread/b299780536a4940b/d14d5e0f84b072ba?lnk=st&amp;amp;q=frames+html+master+pages+microsoft&amp;amp;rnum=1#d14d5e0f84b072ba" target="_blank"&gt;una lista de sugerencias&lt;/a&gt; de parte de Microsoft a la hora de elegir que técnica usar para mostrar el contenido común a todas las páginas de un sitio:&lt;/p&gt;
&lt;p&gt;Usar Master Pages cuando:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;No es crítico un refresh completo de la página&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;El desarrollo requiere un standard de página modificable mediante herencia&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Le permitimos al usuario agregar la página a su lista de&amp;nbsp;favoritos del explorador&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Usar Frames cuando:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Es costoso hacer un refresh completo de la página&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Le permitimos al usuario refrescar sectores de la página en distintos momentos.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;El armado del HTML contenido en el frame es muy complejo de generar&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Realmente no he encontrado casos en los que no vale la pena reemplazar la estrucura de Frames existente por el uso de MasterPages. En algunas situaciones el anidamiento de sucesivos frames hace&amp;nbsp;la navegación&amp;nbsp;compleja y que&amp;nbsp;el código javascript a tal efecto se torne muy&amp;nbsp;complejo.&lt;/p&gt;
&lt;p&gt;Quien haya intentado hacer un Response.Redirect hacia otro frame sabe que no funciona. La redirección de páginas se refieren al Document en la que están actuando.&amp;nbsp; Por lo tanto hay que escribir código DHTML para poder navegar en la jerarquía de frames contenidos en los framesets:&lt;/p&gt;
&lt;p&gt;window.parent.parent.parent.parent&lt;/p&gt;
&lt;p&gt;Esto es inevitable&amp;nbsp;al utilizar frames, y potencialmente peligroso cuando se mezcla con la funcionalidad de Post-Backs de ASP.NET.&lt;/p&gt;
&lt;p&gt;Supongamos que tenemos una página aspx que tiene un botón aceptar, el cual, luego de procesar todo lo necesario necesita forzar la navegación a otra página. Pero la navegación implica&amp;nbsp;cargar HTML en&amp;nbsp;otro frame que solicita la nueva página. Para ello deberíamos registrar un script de DHTML:&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;font size="2"&gt; btn_aceptar_Click(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; sender &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; System.Object, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; e &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; System.Web.UI.ImageClickEventArgs) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Handles&lt;/font&gt;&lt;font size="2"&gt; btn_aceptar.Click&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Procesamiento del botón aceptar&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;Dim&lt;/font&gt;&lt;font size="2"&gt; strClientScript &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strClientScript = &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;&amp;lt;script language=JavaScript&amp;gt; &amp;quot;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strClientScript += &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;window.parent.location=&amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;../navegacion.aspx?IdOpcion=3&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strClientScript += &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot; &amp;lt;/script&amp;gt;&amp;quot;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me&lt;/font&gt;&lt;font size="2"&gt;.RegisterStartupScript(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;navigate&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, strClientScript)&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;Si bien esto logra el efecto, resulta costoso, ya que la respuesta&amp;nbsp;del servidor luego de procesar la página es todo el HTML que la representa mas el script que acabamos de registrar. El cual se ejecuta no bien termina de parsearse la página en el Browser y hace la redirección.&amp;nbsp; Conclusión, hemos transferido al explorador código HTML totalmente innecesario.&lt;/p&gt;
&lt;p&gt;Para evitar todo ese código HTML, y enviar el browser solo el script necesario para la navegación, deberíamos hacer un Server.Transfer(). Esta instrucción corta la ejecución de la página corriente y comienza la ejecución de otra, anulando todo el buffer de salida de la primera y así evitando el HTML innecesario.&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;Private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;font size="2"&gt; btn_aceptar_Click(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; sender &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; System.Object, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; e &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; System.Web.UI.ImageClickEventArgs) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Handles&lt;/font&gt;&lt;font size="2"&gt; btn_aceptar.Click&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Procesamiento del botón aceptar&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Dim strClientScript As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;str&lt;/font&gt;&lt;font color="#008000" size="2"&gt;ClientScript = &amp;quot;&amp;lt;script language=JavaScript&amp;gt; &amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#008000" size="2"&gt;&amp;#39;strClientScript += &amp;quot;window.parent.location=&amp;#39;&amp;quot; &amp;amp; &amp;quot;../navegacion.aspx?IdOpcion=3&amp;quot; &amp;amp; &amp;quot;&amp;#39;&amp;quot;&lt;br /&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;strClientScript += &amp;quot; &amp;lt;/script&amp;gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#008000" size="2"&gt;&amp;#39;Me.RegisterStartupScript(&amp;quot;navigate&amp;quot;, strClientScript)&lt;/p&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpContext.Current.Items.Add(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;navigateTo&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;../navegacion.aspx?IdOpcion=3&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Server.Transfer(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;redirect.aspx&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;True&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Este es el código de la página redirect.aspx&lt;/p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;font size="2"&gt; Page_Load(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; sender &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; System.Object, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; e &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; System.EventArgs) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Handles&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;MyBase&lt;/font&gt;&lt;font size="2"&gt;.Load&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp; Dim&lt;/font&gt;&lt;font size="2"&gt; strClientScript &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;strClientScript = &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;&amp;lt;script language=JavaScript&amp;gt; &amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;strClientScript += &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;window.parent.location=&amp;#39;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; HttpContext.Current.Items.Item(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;navigateTo&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;).ToString() &amp;amp; &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;strClientScript += &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot; &amp;lt;/script&amp;gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Me&lt;/font&gt;&lt;font size="2"&gt;.RegisterStartupScript(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;navigate&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, strClientScript)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;
&lt;script type="text/javascript"&gt;
digg_url = &amp;#39;http://msmvps.com/blogs/cwalzer&amp;#39;;
digg_bgcolor = &amp;#39;#ff9900&amp;#39;;
digg_skin = &amp;#39;compact&amp;#39;;
digg_window = &amp;#39;new&amp;#39;;
&lt;/script&gt;

&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://msmvps.com/blogs/cwalzer"&gt;&lt;img alt="Agregar a Technorati" src="http://static.technorati.com/pix/fave/btn-fave2.png" border="0" /&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=936275" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cwalzer/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item></channel></rss>