<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">The code is out there</title><subtitle type="html">A few hours of trial and error can often save you a couple of minutes of reading manuals.</subtitle><id>http://blogs.msdn.com/b/daniem/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/daniem/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2009-05-05T17:11:00Z</updated><entry><title>Digest Authentication in System.Net classes don't fully comply with RFC2617</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2013/02/27/digest-authentication-in-system-net-classes-not-compliant-with-rfc2617.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2013/02/27/digest-authentication-in-system-net-classes-not-compliant-with-rfc2617.aspx</id><published>2013-02-27T11:04:00Z</published><updated>2013-02-27T11:04:00Z</updated><content type="html">&lt;div class="section" style="line-height: normal; list-style-type: disc; border-spacing: 2px 2px;"&gt;
&lt;div class="sectionheading autoheading"&gt;&lt;span style="font-family: Calibri; font-size: large;"&gt;&lt;strong&gt;Symptoms&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="sectionbody"&gt;&lt;span style="font-family: Calibri; font-size: medium;"&gt;Using a class from the System.Net namespace, e.g. HttpWebRequest, to authenticate to a non-Microsoft web server using Digest authentication might result in some error condition, e.g. an HTTP 500 error:&lt;/span&gt;&lt;/div&gt;
&lt;div class="sectionbody"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="sectionbody"&gt;&amp;nbsp;&lt;/div&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242;"&gt;&lt;span style="font-size: small; mso-ansi-language: en;" lang="EN"&gt;&lt;span style="font-family: Courier New;"&gt;HTTP/1.1 500 Internal Server Error &lt;br /&gt;Date: Fri, 30 Nov 2012 12:15:15 GMT &lt;br /&gt;Server: Apache/2.2.22 (Win32) &lt;br /&gt;Content-Length: 547 &lt;br /&gt;Connection: close &lt;br /&gt; Content-Type: text/html; charset=iso-8859-1 &lt;br /&gt; &lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&amp;gt; &lt;br /&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt; &lt;br /&gt;&amp;lt;title&amp;gt;500 Internal Server Error&amp;lt;/title&amp;gt; &lt;br /&gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt; &lt;br /&gt;&amp;lt; h1&amp;gt;Internal Server Error&amp;lt;/h1&amp;gt; &lt;br /&gt;&amp;lt;p&amp;gt;The server encountered an internal error or &lt;br /&gt;misconfiguration and was unable to complete &lt;br /&gt;your request.&amp;lt;/p&amp;gt; &lt;br /&gt;&amp;lt;/body&amp;gt;&amp;lt;/HTML&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" style="line-height: normal; list-style-type: disc; border-spacing: 2px 2px;"&gt;
&lt;div class="sectionheading autoheading"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="sectionheading autoheading"&gt;&lt;span style="font-family: Calibri; font-size: large;"&gt;&lt;strong&gt;Cause&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="sectionbody"&gt;&lt;span style="font-family: Calibri; font-size: medium;"&gt;System.Net classes don't include the query string in the 'Uri' attribute of the digest authentication header. This is a violation of the RFC, and some web server implementations reject those requests. &lt;/span&gt;&lt;/div&gt;
&lt;div class="sectionbody"&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" style="line-height: normal; list-style-type: disc; border-spacing: 2px 2px;"&gt;
&lt;div class="sectionheading autoheading"&gt;&lt;span style="font-family: Calibri; font-size: large;"&gt;&lt;strong&gt;Resolution&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="sectionbody"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: medium;"&gt;The below workaround provides an implementation of the Digest authentication protocol which generates an Authentication header compliant with the RFC2617. The below code sample is based on the sample provided originally in the following forum: &lt;a href="http://stackoverflow.com/questions/3109507/httpwebrequests-sends-parameterless-uri-in-authorization-header"&gt;http://stackoverflow.com/questions/3109507/httpwebrequests-sends-parameterless-uri-in-authorization-header&lt;/a&gt;. &lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: medium;"&gt;IMPORTANT: This sample code is provided as-is and is intended for sample purposes only. It is provided without warranties and confers no rights.&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;using&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; System;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;using&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; System.Globalization;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;using&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; System.IO;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;using&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; System.Net;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;using&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; System.Security.Cryptography;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;using&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; System.Text;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;using&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; System.Text.RegularExpressions;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;namespace&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; DigestClient&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;DigestHttpWebRequest&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _user;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _password;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _realm;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _nonce;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _qop;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _cnonce;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Algorithm&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _md5;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;DateTime&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _cnonceDate;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _nc;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _requestMethod = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;WebRequestMethods&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Http&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Get;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _contentType;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;byte&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;[] _postData;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; DigestHttpWebRequest(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; user, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; password)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_user = user;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_password = password;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; Method&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;get&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; { &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _requestMethod; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;set&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; { _requestMethod = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;value&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; ContentType&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;get&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; { &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _contentType; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;set&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; { _contentType = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;value&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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="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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;byte&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;[] PostData&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;get&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; { &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; _postData; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;set&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; { _postData = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;value&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpWebResponse&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; GetResponse(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Uri&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; uri)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpWebResponse&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; response = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;null&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; infiniteLoopCounter = 0;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; maxNumberAttempts = 2;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;while&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; ((response == &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;null&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; ||&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;response.StatusCode != &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpStatusCode&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Accepted) &amp;amp;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;infiniteLoopCounter &amp;lt; maxNumberAttempts)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; request = CreateHttpWebRequestObject(uri);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &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;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;// If we've got a recent Auth header, re-use it!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (!&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.IsNullOrEmpty(_cnonce) &amp;amp;&amp;amp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;DateTime&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Now.Subtract(_cnonceDate).TotalHours&amp;lt; 1.0)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.Headers.Add(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"Authorization"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, ComputeDigestHeader(uri));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;response = (&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpWebResponse&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;)request.GetResponse();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;catch&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;WebException&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; webException)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;// Try to fix a 401 exception by adding a Authorization header&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (webException.Response != &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;null&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;((&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpWebResponse&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;)webException.Response).StatusCode == &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpStatusCode&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Unauthorized)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; wwwAuthenticateHeader = webException.Response.Headers[&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"WWW-Authenticate"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &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;_realm = GetDigestHeaderAttribute(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"realm"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, wwwAuthenticateHeader);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_nonce = GetDigestHeaderAttribute(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"nonce"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, wwwAuthenticateHeader);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_qop = GetDigestHeaderAttribute(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"qop"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, wwwAuthenticateHeader);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_md5 = GetMD5Algorithm(wwwAuthenticateHeader);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_nc = 0;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_cnonce = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Random&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;().Next(123400, 9999999).ToString();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_cnonceDate = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;DateTime&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Now;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request = CreateHttpWebRequestObject(uri, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;true&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;infiniteLoopCounter++;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;response = (&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpWebResponse&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;)request.GetResponse();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&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 style="mso-ansi-language: en-us;" lang="EN-US"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;throw&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; webException;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;switch&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (response.StatusCode)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpStatusCode&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.OK:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpStatusCode&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Accepted:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; response;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpStatusCode&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Redirect:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpStatusCode&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Moved:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;uri = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Uri&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;(response.Headers[&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"Location"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;]);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;// We decrement the loop counter, as there might be a variable number of redirections which we should follow&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;infiniteLoopCounter--;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;; &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;catch&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;WebException&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; ex)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;throw&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; ex;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;throw&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Exception&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"Error: Either authentication failed, authorization failed or the resource doesn't exist"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpWebRequest&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; CreateHttpWebRequestObject(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Uri&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; uri, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;bool&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; addAuthenticationHeader)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; request = (&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpWebRequest&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;)&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;WebRequest&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Create(uri);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.AllowAutoRedirect = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;false&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.Method = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Method;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (!&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.IsNullOrEmpty(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.ContentType))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.ContentType = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.ContentType;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &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;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (addAuthenticationHeader)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.Headers.Add(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"Authorization"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, ComputeDigestHeader(uri));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.PostData != &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;null&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.PostData.Length &amp;gt; 0)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.ContentLength = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.PostData.Length;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Stream&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; postDataStream = request.GetRequestStream(); &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;//open connection&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;postDataStream.Write(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.PostData, 0, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.PostData.Length); &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;// Send the data.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;postDataStream.Close();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;else&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Method == &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;WebRequestMethods&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Http&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Post &amp;amp;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.PostData == &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;null&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; || &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.PostData.Length == 0))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.ContentLength = 0;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&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;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; request;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;HttpWebRequest&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; CreateHttpWebRequestObject(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Uri&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; uri)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; CreateHttpWebRequestObject(uri, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;false&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; ComputeDigestHeader(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Uri&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; uri)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: sv;" lang="SV"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: sv;" lang="SV"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_nc = _nc + 1;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: sv;" lang="SV"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: sv;" lang="SV"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: sv;" lang="SV"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: sv;" lang="SV"&gt; ha1, ha2;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: sv;" lang="SV"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: sv;" lang="SV"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;switch&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (_md5)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Algorithm&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.MD5sess:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; secret = ComputeMd5Hash(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;CultureInfo&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.InvariantCulture, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"{0}:{1}:{2}"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, _user, _realm, _password));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ha1 = ComputeMd5Hash(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;CultureInfo&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.InvariantCulture, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"{0}:{1}:{2}"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, secret, _nonce, _cnonce));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ha2 = ComputeMd5Hash(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;CultureInfo&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.InvariantCulture, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"{0}:{1}"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Method, uri.PathAndQuery));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; data = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;CultureInfo&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.InvariantCulture, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"{0}:{1:00000000}:{2}:{3}:{4}"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;_nonce,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_nc,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_cnonce,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_qop,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ha2);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;var kd = ComputeMd5Hash(string.Format(CultureInfo.InvariantCulture, "{0}:{1}", ha1, data));&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;returnstring.Format("Digest username=\"{0}\", realm=\"{1}\", nonce=\"{2}\", uri=\"{3}\", " +&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;"algorithm=MD5-sess, response=\"{4}\", qop={5}, nc={6:00000000}, cnonce=\"{7}\"",&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;_user, _realm, _nonce, uri.PathAndQuery, kd, _qop, _nc, _cnonce);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Algorithm&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.MD5:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ha1 = ComputeMd5Hash(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"{0}:{1}:{2}"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, _user, _realm, _password));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ha2 = ComputeMd5Hash(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"{0}:{1}"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Method, uri.PathAndQuery));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; digestResponse =&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ComputeMd5Hash(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"{0}:{1}:{2:00000000}:{3}:{4}:{5}"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, ha1, _nonce, _nc, _cnonce, _qop, ha2));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"Digest username=\"{0}\", realm=\"{1}\", nonce=\"{2}\", uri=\"{3}\", "&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"algorithm=MD5, response=\"{4}\", qop={5}, nc={6:00000000}, cnonce=\"{7}\""&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_user, _realm, _nonce, uri.PathAndQuery, digestResponse, _qop, _nc, _cnonce);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;throw&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Exception&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"The digest header could not be generated"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; GetDigestHeaderAttribute(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; attributeName, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; digestAuthHeader)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; regHeader = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Regex&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;@"{0}=""([^""]*)"""&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, attributeName));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; matchHeader = regHeader.Match(digestAuthHeader);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (matchHeader.Success)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; matchHeader.Groups[1].Value;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;throw&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;ApplicationException&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Format(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"Header {0} not found"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, attributeName));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Algorithm&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; GetMD5Algorithm(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; digestAuthHeader)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; md5Regex = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Regex&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;@"algorithm=(?&amp;lt;algo&amp;gt;.*)[,]"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;RegexOptions&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.IgnoreCase);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; md5Attribute = md5Regex.Match(digestAuthHeader);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (md5Attribute.Success)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;char&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;[] charSeparator = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;char&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;[] { &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;','&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; };&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; algorithm = md5Attribute.Result(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"${algo}"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;).ToLower().Split(charSeparator)[0];&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;switch&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (algorithm)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"md5-sess"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"\"md5-sess\""&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Algorithm&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.MD5sess;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"md5"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"\"md5\""&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;default&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Algorithm&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.MD5;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;throw&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;ApplicationException&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"Could not determine Digest algorithm to be used from the server response."&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; ComputeMd5Hash(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;string&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; input)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; inputBytes = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Encoding&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.ASCII.GetBytes(input);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; hash = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;MD5&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;.Create().ComputeHash(inputBytes);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; sb = &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;StringBuilder&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;foreach&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; (&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;var&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; b &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;in&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; hash)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(b.ToString(&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;"x2"&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;return&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt; sb.ToString();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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="mso-ansi-language: en-us;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;enum&lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;Algorithm&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small; mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MD5 = 0, &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;// Apache Default&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MD5sess = 1 &lt;/span&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&gt;//IIS Default&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="mso-ansi-language: en-us;" lang="EN-US"&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&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: medium;"&gt;Sample usage for HTTP GET requests:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;DigestHttpWebRequest&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt; request = &lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;DigestHttpWebRequest&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;(username, password);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: background1; mso-background-themeshade: 242;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;HttpWebResponse&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;&lt;span style="font-family: Consolas;"&gt; result = request.GetResponse(uri);&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: medium;"&gt;Sample usage for HTTP POST requests:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;DigestHttpWebRequest&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt; request = &lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;DigestHttpWebRequest&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;(username, password);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;request.Method = &lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;WebRequestMethods&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;.&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;Http&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;.Post;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;request.ContentType = &lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;"text/plain; charset=utf-8"&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"&gt;request.PostData = &lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"&gt;Encoding&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"&gt;.ASCII.GetBytes(postData);&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #f2f2f2; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: background1; mso-background-themeshade: 242;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;HttpWebResponse&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-ansi-language: en-us; mso-highlight: white;" lang="EN-US"&gt;&lt;span style="font-family: Consolas; font-size: small;"&gt; result = request.GetResponse(uri);&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Applies to&lt;/span&gt; &lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size: medium;"&gt;Microsoft .NET Framework 1.1 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;Microsoft .NET Framework 2.0 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;Microsoft .NET Framework 3.0 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;Microsoft .NET Framework 3.5 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;Microsoft .NET Framework 4.0 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;Microsoft .NET Framework 4.5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10397535" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Corrupción de las claves RSA y la importancia de hacer backup</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2012/05/28/corrupcion-claves-rsa.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2012/05/28/corrupcion-claves-rsa.aspx</id><published>2012-05-28T14:01:00Z</published><updated>2012-05-28T14:01:00Z</updated><content type="html">&lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Recientemente he trabajado en un caso en el que tras reiniciar un servidor Windows Server 2003, el servicio &lt;i style="mso-bidi-font-style: normal;"&gt;IIS Admin Service&lt;/i&gt; fallaba en el arranque con el siguiente mensaje de error:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;/span&gt;&amp;#160;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p style="background: rgb(242, 242, 242); line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span&gt;&lt;font style="font-size: 10pt;" face="Courier New"&gt;Windows could not start the IIS Admin Service on Local Computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code -2146893813.&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt;"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Adicionalmente, en el log de eventos de sistema se registraba el siguiente error:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;/span&gt;&amp;#160;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p style="background: rgb(242, 242, 242); line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span&gt;&lt;font style="font-size: 10pt;" face="Courier New"&gt;Manuel: Event Type: Error        &lt;br /&gt;Event Source: Service Control Manager         &lt;br /&gt;Event Category: None         &lt;br /&gt;Event ID: 7024         &lt;br /&gt;Date: 23/05/2012         &lt;br /&gt;Time: 11:40:35         &lt;br /&gt;User: N/A         &lt;br /&gt;Computer: IIS6-Server         &lt;br /&gt;Description:         &lt;br /&gt;The IIS Admin Service service terminated with service-specific error 2148073483 (0x8009000B).&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt;"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt;"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;El código de error &lt;b style="mso-bidi-font-weight: normal;"&gt;0x8009000B &lt;/b&gt;se corresponde a &lt;b style="mso-bidi-font-weight: normal;"&gt;NTE_BAD_KEY_STATE &lt;/b&gt;(“&lt;i style="mso-bidi-font-style: normal;"&gt;Key not valid for use in specified state&lt;/i&gt;”o “&lt;i style="mso-bidi-font-style: normal;"&gt;Clave no válida para utilizar en el estado especificado&lt;/i&gt;” en castellano) e indica un error al utilizar unas claves de encriptación.         &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;IIS 6.0 cifra algunos campos del fichero XML de configuración (metabase.xml) con información sensible como contraseñas de cuentas de servicio. Para esto, IIS 6.0 crea un contenedor de claves criptográficas durante la instalación del servicio llamado “Microsoft Internet Information Server”. Este contenedor de claves está almacenado físicamente en el fichero &lt;b style="mso-bidi-font-weight: normal;"&gt;%ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\RSA\MachineKeys\c2319c42033a5ca7f44e731bfd3fa2b5_&amp;lt;MachineGuid&amp;gt;. &lt;/b&gt;El valor de &lt;/span&gt;&lt;b&gt;&lt;span style="mso-ansi-language: es;" lang="ES"&gt;MachineGuid&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;span style="mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;"&gt; se puede obtener de la siguiente clave del registro y será distinto en cada servidor:&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160; &lt;br /&gt;&amp;#160;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p style="background: rgb(242, 242, 242); line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span&gt;&lt;font style="font-size: 10pt;" face="Courier New"&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography]&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;/font&gt;  &lt;p style="background: rgb(242, 242, 242); line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span&gt;&lt;font style="font-size: 10pt;" face="Courier New"&gt;&amp;quot;MachineGuid&amp;quot;=&amp;quot;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-ascii-font-family: calibri; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri;"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Con la herramienta &lt;b style="mso-bidi-font-weight: normal;"&gt;certutil &lt;/b&gt;podemos volcar cierta información de este contenedor de claves, y entre otras cosas podemos ver que las claves privadas no son exportables, por lo que el fichero metabase.xml cifrado con estas claves únicamente podrá ser descifrado en el mismo servidor donde fue creado.&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&amp;#160;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 11pt;"&gt;C:\WINDOWS\system32&amp;gt;&lt;/font&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: red;"&gt;&lt;font style="font-size: 11pt; background-color: rgb(255, 0, 0);"&gt;certutil -v -key &amp;quot;Microsoft Internet Information Server&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;Microsoft Strong Cryptographic Provider:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;Microsoft Internet Information Server&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt; &lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;c2319c42033a5ca7f44e731bfd3fa2b5_809cf898-e06e-4673-83e2-6200ef0291cc&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;       &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;AT_SIGNATURE:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;Key Id Hash(sha1): d0 31 ed 58 81 bf 61 b9 a3 76 99 cb 17 ad ce 88 ff b7 b8 cd&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;Container Public Key:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;0000&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;30 48 02 41 00 cd c2 ba&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;b5 47 a7 2b 2f 57 4b ae&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;0010&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;a7 fe 26 9c a2 ed f3 f9&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;58 36 df 8f 35 31 1c c0&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;0020&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;32 2c 35 8c 42 68 84 0d&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;c2 4d dd 9a fd 5d 87 0f&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: es; mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;" lang="ES"&gt;&lt;font style="font-size: 11pt;"&gt;0030&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;b2 b9 33 d4 1b bc 62 64&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;7c bd d7 6c 59 6e c1 85&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-ansi-language: es; mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;" lang="ES"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;"&gt;0040&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;b3 46 73 2c 59 02 03 01&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;00 01&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;       &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;Private key is NOT exportable&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;       &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;AT_KEYEXCHANGE:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;Key Id Hash(sha1): 4f 50 e1 14 9f 63 73 0b ef ae 7c 34 e5 1d 6b d2 eb 1b 59 27&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;Container Public Key:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;0000&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;30 48 02 41 00 a3 aa e0&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;ee 9f 45 e9 b4 6c 4d 11&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;0010&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;44 96 39 f8 f6 51 ec 90&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;14 60 1f 57 6e 10 d2 f4&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 11pt;"&gt;0020&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;69 4c c1 1f 09 f5 69 e0&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;fd 75 67 40 00 0d a0 4a&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: es; mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;" lang="ES"&gt;&lt;font style="font-size: 11pt;"&gt;0030&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;7d c3 b5 a1 40 b9 20 a6&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;5a 3e 1e e9 28 bd aa 2c&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;font face="Consolas"&gt;&lt;font color="#f2f2f2"&gt;&lt;span style="mso-ansi-language: es; mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;" lang="ES"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font style="font-size: 11pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;"&gt;0040&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;6e 62 64 c9 61 02 03 01&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;00 01&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;       &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;Private key is NOT exportable&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;       &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font color="#f2f2f2"&gt;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;  &lt;p style="background: black; line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc; mso-background-themecolor: text1;" class="MsoNormal"&gt;&lt;span style="mso-themecolor: background1; mso-themeshade: 242; mso-style-textfill-fill-color: #f2f2f2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%;"&gt;&lt;font style="font-size: 11pt;" color="#f2f2f2" face="Consolas"&gt;CertUtil: -key command completed successfully.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;IIS 6.0 permite generar backups de la metabase exportables/importables a cualquier servidor, para lo que se utiliza una contraseña en lugar de las claves RSA de máquina para cifrar la metabase. Tener un backup de la configuración de IIS protegido con contraseña puede resultar muy útil como veremos más adelante.&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&amp;#160;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-no-proof: yes;"&gt;&lt;a href="file:///C:/Users/daniem/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles148C892/clip_image001[3].png"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-14-59-metablogapi/2671.clip_5F00_image001_5F00_thumb_5F00_4.png"&gt;&lt;img style="border: 0px currentcolor; overflow: visible; display: inline; max-width: none; background-image: none;" title="clip_image001_thumb" border="0" alt="clip_image001_thumb" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-14-59-metablogapi/1682.clip_5F00_image001_5F00_thumb_5F00_thumb_5F00_1.png" width="350" height="230" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Volviendo al problema original, el error &lt;b style="mso-bidi-font-weight: normal;"&gt;0x8009000B&lt;/b&gt; al arrancar el servicio &lt;i style="mso-bidi-font-style: normal;"&gt;IIS Admin Service &lt;/i&gt;típicamente se debe a una corrupción del contenedor de claves de IIS, por lo que el servicio no es capaz de descifrar los campos relevantes al leer el fichero de configuración y por consecuencia fallan en el arranque.         &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Llegados a esta situación, básicamente tenemos tres opciones, que por orden de preferencia son:&lt;/font&gt;&lt;/span&gt;&amp;#160;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;1) Restaurar un &lt;i style="mso-bidi-font-style: normal;"&gt;backup&lt;/i&gt; de &lt;i style="mso-bidi-font-style: normal;"&gt;system state&lt;/i&gt; en el que se restauraría una copia intacta del fichero contenedor de claves &lt;b style="mso-bidi-font-weight: normal;"&gt;c2319c42033a5ca7f44e731bfd3fa2b5_&amp;lt;MachineGuid&amp;gt; &lt;/b&gt;lo que permitiría volver a arrancar el servicio de &lt;i style="mso-bidi-font-style: normal;"&gt;IIS Admin Service&lt;/i&gt;.         &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;2) Reinstalar IIS y reconfigurarlo desde un backup de la metabase protegido por contraseña que podamos importar después de la reinstalación. &lt;/font&gt;&lt;/span&gt;&amp;#160;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;3) Reinstalar IIS y reconfigurarlo manualmente desde cero.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&lt;strong&gt;PROCESO DE REINSTALACIÓN Y RESTAURACIÓN DEL CONTENEDOR DE CLAVES&lt;/strong&gt;        &lt;br /&gt;En caso que fuera necesaria la reinstalación de IIS, los pasos a seguir son los siguientes:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&lt;font face="Arial"&gt;       &lt;br /&gt;&lt;/font&gt;1) Desinstalar el servicio de IIS desde los componentes de Windows. &lt;/font&gt;&lt;/span&gt;&amp;#160;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&amp;#160; &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;2) Eliminar el fichero contenedor de claves de “Microsoft Internet Information Server” en la ruta“%ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\RSA\MachineKeys\c2319c42033a5ca7f44e731bfd3fa2b5_&amp;lt;MachineGuid&amp;gt;”.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;3) Reinstalar IIS. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;4) Importar el backup de la metabase protegido por contraseña. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;"&gt;5) Añadir las cuentas configuradas como identidad de los application pool al grupo de seguridad IIS_WPG (&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: es; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri;" lang="ES"&gt;&lt;font style="font-size: 11pt;"&gt;IIS Worker Process Group&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;"&gt;) de nuevo, dado que el grupo de seguridad se vuelve a crear tras la reinstalación. &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Si tenemos varios servidores configurados idénticamente, técnicamente es posible importar un backup de la metabase que ha sido exportado desde otro servidor distinto. No obstante, esto implica tener que modificar manualmente algunas cosas adicionales como sincronizar las cuentas &lt;strong&gt;IUSR_&amp;lt;serverName&amp;gt;&lt;/strong&gt; e &lt;strong&gt;IWAM_&amp;lt;serverName&amp;gt;&lt;/strong&gt; y sus contraseñas, o modificar los bindings de los sitios web en caso de que escuchen por IPs distintas en los distintos servidores de la granja.         &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;En definitiva, haced backup del system state y de la metabase regularmente, y espero que nunca tengáis que hacer uso de este post. &lt;/font&gt;&lt;/span&gt;&amp;#160;&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;- Daniel Mossberg&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10311024" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="IIS 6.0" scheme="http://blogs.msdn.com/b/daniem/archive/tags/IIS+6-0/" /></entry><entry><title>Modelos de programación en ASP.NET: Web Forms, MVC y Web Pages</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2012/05/10/modelos-de-programacion-en-aspnet.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2012/05/10/modelos-de-programacion-en-aspnet.aspx</id><published>2012-05-10T12:49:00Z</published><updated>2012-05-10T12:49:00Z</updated><content type="html">&lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Recientemente he publicado una serie de artículos en MSDN España abordando una pregunta que recibimos con frecuencia. ¿Cuáles son las diferencias entre los tres modelos de programación de ASP.NET y en que situaciones debo elegir uno de ellos sobre los otros?&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Estos son los enlaces a la serie completa:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt;"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;ASP.NET Web Forms, MVC o Web Pages – Introducción&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;a href="http://msdn.microsoft.com/es-es/asp.net/hh984851"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;http://msdn.microsoft.com/es-es/asp.net/hh984851&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Parte 1 – ASP.NET Web Forms&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;a href="http://msdn.microsoft.com/es-es/asp.net/hh984854"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;http://msdn.microsoft.com/es-es/asp.net/hh984854&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Parte 2 – ASP.NET MVC&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;a href="http://msdn.microsoft.com/es-es/asp.net/hh984855"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;http://msdn.microsoft.com/es-es/asp.net/hh984855&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Parte 3 – ASP.NET Web Pages&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;a href="http://msdn.microsoft.com/es-es/asp.net/hh984856"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;http://msdn.microsoft.com/es-es/asp.net/hh984856&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;Espero que os resulte interesante. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;  &lt;p style="line-height: normal; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; list-style-type: disc;" class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 11.0pt; mso-ansi-language: es;" lang="ES"&gt;&lt;font style="font-size: 12pt;" face="Calibri"&gt;- Daniel Mossberg&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;font style="font-size: 12pt;"&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10303751" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="ASP.NET" scheme="http://blogs.msdn.com/b/daniem/archive/tags/ASP-NET/" /></entry><entry><title>HttpException: An error occurred while attempting to impersonate</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2010/11/26/httpexception-an-error-occurred-while-attempting-to-impersonate.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2010/11/26/httpexception-an-error-occurred-while-attempting-to-impersonate.aspx</id><published>2010-11-26T13:11:00Z</published><updated>2010-11-26T13:11:00Z</updated><content type="html">&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; tab-stops: 50.25pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Pasados m&amp;aacute;s de tres meses desde mi &amp;uacute;ltimo post, ya es momento de retomarlo. Hoy voy a escribir sobre un problema con el que me he encontrado en varias ocasiones en los &amp;uacute;ltimos meses. B&amp;aacute;sicamente, el problema se produce cuando tenemos una aplicaci&amp;oacute;n ASP.NET configurada para impersonar al usuario autenticado, y en alg&amp;uacute;n punto de la aplicaci&amp;oacute;n se trata de impersonar program&amp;aacute;ticamente a un usuario distinto. En estas circunstancias, la aplicaci&amp;oacute;n va a fallar con el siguiente error:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;Exception Details: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;System.Web.HttpException: An error occurred while attempting to impersonate. Execution of this request cannot continue.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;Stack Trace: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;[HttpException (0x80004005): An error occurred while attempting to impersonate. Execution of this request cannot continue.]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;System.Web.ImpersonationContext.GetCurrentToken() +8845961&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;System.Web.ImpersonationContext.get_CurrentThreadTokenExists() +58&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp;amp; completedSynchronously) +193&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;System.Web.ApplicationStepManager.ResumeSteps(Exception error) +501&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +123&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span lang="EN-US" style="font-family: 'Courier New'; font-size: 10pt; mso-ansi-language: EN-US;"&gt;System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +379&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span style="color: #1f497d; font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;hellip;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;B&amp;aacute;sicamente, el problema radica en que al llamar al m&amp;eacute;todo &lt;i style="mso-bidi-font-style: normal;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/w070t6ka.aspx"&gt;Impersonate&lt;/a&gt;&lt;/i&gt; (o llamando directamente a la API &lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="color: #1f497d;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa378184(VS.85).aspx"&gt;LogonUser&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="color: #1f497d;"&gt; &lt;/span&gt;que es la que se termina llamando desde &lt;i style="mso-bidi-font-style: normal;"&gt;Impersonate&lt;/i&gt;), se intenta acceder al token del proceso (por ejemplo, w3wp.exe), y la cuenta del usuario autenticado (el que est&amp;aacute; siendo impersonado debido a la configuraci&amp;oacute;n del web.config) no tiene permiso para acceder a dicho token. &lt;span style="color: #1f497d;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: #1f497d; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Por lo tanto, para poder impersonar una cuenta distinta program&amp;aacute;ticamente, necesitamos deshacer la impersonaci&amp;oacute;n inicial antes de impersonar una cuenta distinto. Para ello, podemos llamar a la API &lt;i&gt;&lt;span style="color: #1f497d;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa379317(VS.85).aspx"&gt;&lt;span style="color: #0000ff;"&gt;RevertToSelf&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="color: #1f497d;"&gt; &lt;/span&gt;para deshacer la impersonaci&amp;oacute;n antes de llamar a LogonUser. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: #1f497d; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;En el siguiente ejemplo se ilustra c&amp;oacute;mo podr&amp;iacute;amos hacerlo:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: #1f497d; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;const&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; LOGON32_PROVIDER_DEFAULT = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;const&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; LOGON32_LOGON_INTERACTIVE = 2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;const&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; SecurityImpersonation = 2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;int&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; win32ErrorNumber = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Mostramos por pantalla la identidad inicial (la impersonada mediante en el web.config):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;Response.Write(&lt;span style="color: #a31515;"&gt;"Identidad inicial: "&lt;/span&gt; + &lt;span style="color: #2b91af;"&gt;WindowsIdentity&lt;/span&gt;.GetCurrent().Name.ToString() + &lt;span style="color: #a31515;"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Guardamos esa identidad inicial para poder restaurarlo posteriormente&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: #2b91af; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;WindowsIdentity&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; _initialIdentity = &lt;span style="color: #2b91af;"&gt;WindowsIdentity&lt;/span&gt;.GetCurrent();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Llamamos a la API "RevertToSelf" para deshacer la impersonaci&amp;oacute;n configurada en el web.config:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;RevertToSelf();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Volvemos a mostrar la identidad, y ahora vemos que ha cambiado a la identidad del application&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//pool: (NETWORK SERVICE) por defecto. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;Response.Write(&lt;span style="color: #a31515;"&gt;"Despu&amp;eacute;s de llamar a RevertToSelf: "&lt;/span&gt; + &lt;span style="color: #2b91af;"&gt;WindowsIdentity&lt;/span&gt;.GetCurrent().Name.ToString() + &lt;span style="color: #a31515;"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Realizamos la impersonaci&amp;oacute;n deseada. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: #2b91af; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;IntPtr&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; _tokenHandle = &lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt;.Zero;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: #2b91af; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;IntPtr&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; _dupeTokenHandle = &lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt;.Zero;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;string&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; _domainname = &lt;span style="color: #a31515;"&gt;"CONTOSO"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;string&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; _username = &lt;span style="color: #a31515;"&gt;"demo"&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;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;string&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; _password = &lt;span style="color: #a31515;"&gt;"P@ssw0rd!"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;if&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; (!LogonUser(_username, _domainname, _password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &lt;span style="color: blue;"&gt;out&lt;/span&gt; _tokenHandle))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;win32ErrorNumber = System.Runtime.InteropServices.&lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.GetLastWin32Error();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;throw&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(win32ErrorNumber.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;if&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; (!DuplicateToken(_tokenHandle, SecurityImpersonation, &lt;span style="color: blue;"&gt;out&lt;/span&gt; _dupeTokenHandle))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;win32ErrorNumber = System.Runtime.InteropServices.&lt;span style="color: #2b91af;"&gt;Marshal&lt;/span&gt;.GetLastWin32Error();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;CloseHandle(_tokenHandle);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;throw&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt;(win32ErrorNumber.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;System.Security.Principal.&lt;span style="color: #2b91af;"&gt;WindowsIdentity&lt;/span&gt; newId = &lt;span style="color: blue;"&gt;new&lt;/span&gt; System.Security.Principal.&lt;span style="color: #2b91af;"&gt;WindowsIdentity&lt;/span&gt;(_dupeTokenHandle);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: #2b91af; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;WindowsImpersonationContext&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; _impersonatedUser = newId.Impersonate();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Mostramos por pantalla la identidad impersonada&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;Response.Write(&lt;span style="color: #a31515;"&gt;"Despu&amp;eacute;s de impersonar: "&lt;/span&gt; + &lt;span style="color: #2b91af;"&gt;WindowsIdentity&lt;/span&gt;.GetCurrent().Name.ToString() + &lt;span style="color: #a31515;"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Desahacemos la impersonaci&amp;oacute;n cuando ya no lo necesitemos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;_impersonatedUser.Undo();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Mostramos por pantalla la identidad, que otra vez ser&amp;aacute; la del application pool&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;Response.Write(&lt;span style="color: #a31515;"&gt;"Deshacer impersonaci&amp;oacute;n: "&lt;/span&gt; + &lt;span style="color: #2b91af;"&gt;WindowsIdentity&lt;/span&gt;.GetCurrent().Name.ToString() + &lt;span style="color: #a31515;"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Volvemos a impersonar con la identidad inicial (la del web.config) que hemos mantenido referenciada&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//con la variable _impersonatedUser:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;_impersonatedUser = _initialIdentity.Impersonate();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; color: green; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;//Por &amp;uacute;ltimo volvemos a mostrar la identidadMostramos por pantalla la identidad&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242;"&gt;&lt;span style="font-family: Consolas; font-size: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;Response.Write(&lt;span style="color: #a31515;"&gt;"Volver a impersonaci&amp;oacute;n inicial: "&lt;/span&gt; + &lt;span style="color: #2b91af;"&gt;WindowsIdentity&lt;/span&gt;.GetCurrent().Name.ToString() + &lt;span style="color: #a31515;"&gt;"&amp;lt;BR&amp;gt;"&lt;/span&gt;);&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Tras ejecutar el c&amp;oacute;digo anterior, el resultado emitido por pantalla ser&amp;iacute;a el siguiente (en mi ejemplo):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: #1f497d; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Identidad inicial: CONTOSO\daniel&lt;br /&gt;Despu&amp;eacute;s de llamar a RevertToSelf: NT AUTHORITY\NETWORK SERVICE&lt;br /&gt;Despu&amp;eacute;s de impersonar: CONTOSO\demo&lt;br /&gt;Deshacer impersonaci&amp;oacute;n: NT AUTHORITY\NETWORK SERVICE&lt;br /&gt;Volver a impersonaci&amp;oacute;n inicial: CONTOSO\daniel&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: #1f497d; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Estas son las &lt;i&gt;signatures&lt;/i&gt; de C# para llamar a las APIs del ejemplo mediante &lt;i style="mso-bidi-font-style: normal;"&gt;platform invoke&lt;/i&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: #1f497d; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;[&lt;span style="color: #2b91af;"&gt;DllImport&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"advapi32.dll"&lt;/span&gt;, SetLastError = &lt;span style="color: blue;"&gt;true&lt;/span&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;public&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; LogonUser(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt; lpszUsername,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt; lpszDomain,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt; lpszPassword,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; dwLogonType,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; dwLogonProvider,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;out&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt; phToken);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;[&lt;span style="color: #2b91af;"&gt;DllImport&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"advapi32.dll"&lt;/span&gt;, SetLastError = &lt;span style="color: blue;"&gt;true&lt;/span&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;static&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; &lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; RevertToSelf();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;[&lt;span style="color: #2b91af;"&gt;DllImport&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"advapi32.dll"&lt;/span&gt;, SetLastError = &lt;span style="color: blue;"&gt;true&lt;/span&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;public&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; &lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; DuplicateToken(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt; ExistingTokenHandle, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; SECURITY_IMPERSONATION_LEVEL, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;out&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt; DuplicateTokenHandle);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;[&lt;span style="color: #2b91af;"&gt;DllImport&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"kernel32.dll"&lt;/span&gt;, SetLastError = &lt;span style="color: blue;"&gt;true&lt;/span&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;[&lt;span style="color: blue;"&gt;return&lt;/span&gt;: &lt;span style="color: #2b91af;"&gt;MarshalAs&lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;UnmanagedType&lt;/span&gt;.Bool)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: blue; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt;static&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes;"&gt; &lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; CloseHandle(&lt;span style="color: #2b91af;"&gt;IntPtr&lt;/span&gt; hObject);&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #1f497d; font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Espero que os sea de utilidad. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: Calibri;"&gt;- Daniel Mossberg&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10097050" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="ASP.NET" scheme="http://blogs.msdn.com/b/daniem/archive/tags/ASP-NET/" /><category term="Seguridad" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Seguridad/" /><category term="Ejemplos de C&amp;#243;digo" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Ejemplos+de+C_26002300_243_3B00_digo/" /><category term="Common Language Runtime (CLR)" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Common+Language+Runtime+_2800_CLR_2900_/" /></entry><entry><title>Problemas al subir ficheros a una aplicación ASP.NET</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2010/08/11/problemas-al-subir-ficheros-a-una-aplicacion-aspnet.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2010/08/11/problemas-al-subir-ficheros-a-una-aplicacion-aspnet.aspx</id><published>2010-08-11T13:19:00Z</published><updated>2010-08-11T13:19:00Z</updated><content type="html">&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Cuando subimos ficheros a una aplicaci&amp;oacute;n ASP.NET, dependiendo del tama&amp;ntilde;o del fichero y la velocidad de la conexi&amp;oacute;n del cliente, ocasionalmente la subida del fichero puede fallar con el mensaje de error&amp;nbsp;en el cliente&amp;nbsp;de&amp;nbsp;&lt;strong&gt;Internet Explorer no puede mostrar la p&amp;aacute;gina web&lt;/strong&gt;, o con alguna de las siguientes excepciones (dependiendo de c&amp;oacute;mo est&amp;eacute; configurado IIS, habitualmente este detalle de la excepci&amp;oacute;n &amp;uacute;nicamente lo podremos ver en el log de eventos NT del servidor):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;span style="font-family: Calibri;"&gt;HttpException: Request timed out.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;span style="font-family: Calibri;"&gt;HttpException: Maximum request length exceeded.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;En estos casos, los par&amp;aacute;metros que deb&amp;eacute;is configurar adecuadamente considerando el tama&amp;ntilde;o el tiempo de transmisi&amp;oacute;n del fichero son los siguientes:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt"&gt;httpRuntime&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt"&gt;executionTimeout&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;=&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt"&gt;"&lt;span style="COLOR: blue"&gt;600&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;maxRequestLength&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;61440&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;El par&amp;aacute;metro de &lt;strong&gt;executionTimeout &lt;/strong&gt;determina el tiempo en segundos que puede ejecutarse una p&amp;aacute;ginas ASP.NET antes de que se lanza una excepci&amp;oacute;n de &lt;em&gt;time out. &lt;/em&gt;Por otro lado, el par&amp;aacute;metro &lt;strong&gt;maxRequestLength&lt;/strong&gt; determina el tama&amp;ntilde;o total m&amp;aacute;ximo en bytes&amp;nbsp;de las peticiones HTTP. Debemos configurar estas secciones acorde con los tiempos m&amp;aacute;ximos&amp;nbsp;de carga y tama&amp;ntilde;os m&amp;aacute;ximos de fichero que queremos que soporte nuestra aplicaci&amp;oacute;n. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Los par&amp;aacute;metros de la secci&amp;oacute;n &lt;b&gt;&amp;lt;httpRuntime&amp;gt;&lt;/b&gt;&amp;nbsp;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;se pueden configurar &lt;/span&gt;&lt;/span&gt;a nivel de web.config de aplicaci&amp;oacute;n, e incluso a nivel de una p&amp;aacute;gina espec&amp;iacute;fica de la siguiente manera:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;lt;?&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;xml&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;version&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;=&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;"&lt;span style="COLOR: blue"&gt;1.0&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;?&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;lt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;configuration&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&amp;nbsp;...&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;location&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;path&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;=&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;"&lt;span style="COLOR: blue"&gt;Default.aspx&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;lt;!--&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: green; FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aqu&amp;iacute; la configuraci&amp;oacute;n espec&amp;iacute;fica &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: green; FONT-SIZE: 12pt"&gt;para la p&amp;aacute;gina Default.aspx del&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: green; FONT-SIZE: 12pt"&gt;directorio virtual al que aplica &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: green; FONT-SIZE: 12pt"&gt;este web.config. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: green; FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;--&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;system.web&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;httpRuntime&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;executionTimeout&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;=&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;"&lt;span style="COLOR: blue"&gt;600&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;maxRequestLength&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;=&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;"&lt;span style="COLOR: blue"&gt;61440&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt"&gt;system.web&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt"&gt;location&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt"&gt;configuration&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 16pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Esto &amp;uacute;ltimo&amp;nbsp;es recomendable, dado que aumentar el &lt;strong&gt;executionTimeout &lt;/strong&gt;de todas las p&amp;aacute;ginas de una aplicaci&amp;oacute;n puede tener consecuencias negativas. En general, los timeout se deben mantener con valores razonablemente bajos, precisamente para que cuando se produzca una situaci&amp;oacute;n de bloqueo, se lanze la excepci&amp;oacute;n y se&amp;nbsp;finalice el procesamiento de la p&amp;aacute;gina en poco tiempo&amp;nbsp;de forma que se libere el thread y se puedan atender otras peticiones. Con timeouts elevados se podr&amp;iacute;an llegar a agotar todos los threads&amp;nbsp;en situaciones de bloqueo, por tardar demasiado en ser liberados. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Por &amp;uacute;ltimo, si una vez habiendo configurado nuestra aplicaci&amp;oacute;n con valores adecaudos, la carga de ficheros sigue fallando con errores &lt;strong&gt;HTTP 400&lt;/strong&gt; en los logs de IIS y errores de &lt;strong&gt;Timer_EntityBody&lt;/strong&gt; en los logs de HTTP.sys (HTTPERR), probad a desinstalar la funcionalidad de SNP (Scalable Networking Pack) en el servidor web siguiente los instrucciones del siguiente art&amp;iacute;culo:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&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: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;An update to turn off default SNP features is available for Windows Server 2003-based and Small Business Server 2003-based computers&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: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;948496"&gt;&lt;span style="color: #0000ff;"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;948496&lt;/span&gt;&lt;/a&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: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&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: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&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: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;Estos cambios requieren reincio del sistema operativo para entrar en vigor.&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: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&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: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&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: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&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: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;Espero que os haya sido de utilidad. &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: 12pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US;"&gt;- Daniel Mossberg&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10048851" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="ASP.NET" scheme="http://blogs.msdn.com/b/daniem/archive/tags/ASP-NET/" /><category term="IIS 6.0" scheme="http://blogs.msdn.com/b/daniem/archive/tags/IIS+6-0/" /></entry><entry><title>Cómo reutilizar el código de una biblioteca de clases .NET desde una aplicación Silverlight</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2010/04/13/como-reutilizar-el-codigo-de-una-biblioteca-de-clases-dotnet-desde-una-aplicacion-silverlight.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2010/04/13/como-reutilizar-el-codigo-de-una-biblioteca-de-clases-dotnet-desde-una-aplicacion-silverlight.aspx</id><published>2010-04-13T15:36:00Z</published><updated>2010-04-13T15:36:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Existe cierta confusión con la compatibilidad entre binarios de Silverlight y binarios de .NET, y a más de uno le pilla por sorpresa que en un proyecto de Visual Studio de una aplicación Silverlight, no se pueden referenciar bibliotecas de clases (&lt;I style="mso-bidi-font-style: normal"&gt;class library&lt;/I&gt;) desarrolladas en .NET de escritorio (para diferenciarlo del .NET de Silverlight). El motivo es que el &lt;I&gt;runtime&lt;/I&gt; y la biblioteca de clases de .NET para Silverlight es un subconjunto del &lt;I&gt;runtime&lt;/I&gt; y la biblioteca de clases de .NET de escritorio, y por lo tanto no son directamente compatibles. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Se puede migrar el código de las clases .NET a clases .NET para Silverlight, y en ocasiones puede ser tan sencillo como recompilar el mismo código fuente (por ejemplo, como una &lt;B style="mso-bidi-font-weight: normal"&gt;Silverlight Class Library&lt;/B&gt;). En otras ocasiones esta migración no es directa, dado que la biblioteca de clases de Silverlight no contiene todas las clases que la biblioteca de clases del Framework .NET.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT face=Calibri&gt;.NET Framework Class Library&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms229335.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms229335.aspx"&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT color=#0000ff face=Calibri&gt;http://msdn.microsoft.com/en-us/library/ms229335.aspx&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT face=Calibri&gt;.NET Framework Class Library for Silverlight&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc838194.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc838194.aspx"&gt;&lt;FONT face=Calibri&gt;http://msdn.microsoft.com/en-us/library/cc838194.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Supongamos que queremos reutilizar unas bibliotecas de clases que manejan objetos &lt;B style="mso-bidi-font-weight: normal"&gt;DataSet&lt;/B&gt;, y dado que .NET para Silverlight (hasta la versión Silverlight 4 RC) no contiene el &lt;I style="mso-bidi-font-style: normal"&gt;namespace&lt;/I&gt; &lt;B style="mso-bidi-font-weight: normal"&gt;System.Data&lt;/B&gt;, no podemos simplemente recompilar el código fuente (fallaría la compilación dado que no estarían implementada ninguna clase &lt;B style="mso-bidi-font-weight: normal"&gt;DataSet&lt;/B&gt;). &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Una posible implementación que nos permite reutilizar al máximo nuestras bibliotecas de clases .NET desde aplicaciones Silverlight sería implementar una interfaz, expuesta como un &lt;I&gt;web service&lt;/I&gt;, y consumir dicho web service desde la aplicación Silverlight. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;De esta manera, todo el código de .NET de escritorio se ejecutará en el servidor web, y la aplicación Silverlight que se ejecutará en el navegador del cliente únicamente representará la capa de presentación. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Os muestro un pequeño ejemplo en C# como prueba de concepto. En este ejemplo, el &lt;I&gt;web service&lt;/I&gt; está implementado como un web service de ASP.NET 2.0 (*.asmx), pero considerad la posibilidad de implementarlo como un web service WCF (Windows Communication Foundation), que es la siguiente generación de &lt;I&gt;web services&lt;/I&gt; de .NET. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Supongamos que tenemos la siguiente clase en nuestra biblioteca de lógica de negocio. Esta es la clase cuyo código nos gustaría reutilizar en Silverlight, pero dado que hace uso de &lt;B style="mso-bidi-font-weight: normal"&gt;System.Data&lt;/B&gt; no podemos recompilar el código sin más.&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; System;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; System.Data;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; SilverlightTest.Web&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;BusinessLogic&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&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: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;DataSet&lt;/SPAN&gt; getCustomerData(&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; customerID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&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;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DataSet&lt;/SPAN&gt; dataSet = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;DataSet&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DataTable&lt;/SPAN&gt; dataTable = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;DataTable&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dataTable.Columns.Add(&lt;SPAN style="COLOR: #a31515"&gt;"Columna 1"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dataTable.Columns.Add(&lt;SPAN style="COLOR: #a31515"&gt;"Columna 2"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dataTable.Rows.Add(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;[] { &lt;SPAN style="COLOR: #a31515"&gt;"celda 0-0"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #a31515"&gt;"celda 0-1"&lt;/SPAN&gt; });&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dataTable.Rows.Add(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;[] { &lt;SPAN style="COLOR: #a31515"&gt;"celda 1-0"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #a31515"&gt;"celda 1-1"&lt;/SPAN&gt; });&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dataTable.Rows.Add(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;[] { &lt;SPAN style="COLOR: #a31515"&gt;"celda 2-0"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #a31515"&gt;"celda 2-1"&lt;/SPAN&gt; });&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dataTable.Rows.Add(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;[] { &lt;SPAN style="COLOR: #a31515"&gt;"celda 3-0"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #a31515"&gt;"celda 3-1"&lt;/SPAN&gt; });&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;dataSet.Tables.Add(dataTable);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; dataSet;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Para solventar este problema, podemos crear un web service que exponga el método &lt;B&gt;getCustomerData&lt;/B&gt;. En este caso, para hacerlo compatible con Silverlight, convertiremos el objeto &lt;B&gt;DataSet&lt;/B&gt; en uno o varios &lt;I&gt;arrays&lt;/I&gt; bidimensionales (uno por cada &lt;B style="mso-bidi-font-weight: normal"&gt;DataTable&lt;/B&gt; del &lt;B style="mso-bidi-font-weight: normal"&gt;DataSet&lt;/B&gt;) antes de enviar la respuesta al cliente Silverlight:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; System;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; System.Data;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; System.Web;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; System.Web.Services;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; SilverlightTest.Web;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;[&lt;SPAN style="COLOR: #2b91af"&gt;WebService&lt;/SPAN&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;SilverlightInterface&lt;/SPAN&gt; : System.Web.Services.&lt;SPAN style="COLOR: #2b91af"&gt;WebService&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;SPAN style="COLOR: #2b91af"&gt;WebMethod&lt;/SPAN&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;[][] getCustomerData(&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; customerID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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: green"&gt;//Utilizamos la lógica de la biblioteca de clases de .NET de escritorio&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&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-FAMILY: Consolas; COLOR: #2b91af; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;BusinessLogic&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; businessLogic = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;BusinessLogic&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&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: #2b91af"&gt;DataSet&lt;/SPAN&gt; dataSet = businessLogic.getCustomerData(customerID);&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; x = dataSet.Tables[0].Rows.Count;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&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-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;int&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; y = dataSet.Tables[0].Columns.Count;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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: green"&gt;//Declaramos y demensionamos el Array&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&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-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;object&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;[][] dataArray = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;[x][];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&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-FAMILY: Consolas; COLOR: blue; mso-ansi-language: SV; mso-bidi-font-size: 9.5pt" lang=SV&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: SV; mso-bidi-font-size: 9.5pt" lang=SV&gt; (&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; i = 0; i &amp;lt; x; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: SV; mso-bidi-font-size: 9.5pt" lang=SV&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-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dataArray[i] = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;[y];&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&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-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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: green"&gt;//Rellenamos el Array con los datos del DataSet&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&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-FAMILY: Consolas; COLOR: blue; mso-ansi-language: SV; mso-bidi-font-size: 9.5pt" lang=SV&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: SV; mso-bidi-font-size: 9.5pt" lang=SV&gt; (&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; i = 0; i &amp;lt; x; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: SV; mso-bidi-font-size: 9.5pt" lang=SV&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-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; j = 0; j &amp;lt; y; j++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dataArray[i][j] = dataSet.Tables[0].Rows[i][j];&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&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;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&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: blue"&gt;return&lt;/SPAN&gt; dataArray;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Por último, desde el cliente Silverlight consumimos el &lt;I&gt;web service&lt;/I&gt; de la siguiente manera tras haber incluido la referencia web (que hemos llamado &lt;B&gt;BusinessLogicWS&lt;/B&gt;):&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;partial&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;SilverlightPage&lt;/SPAN&gt; : &lt;SPAN style="COLOR: #2b91af"&gt;UserControl&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; SilverlightPage()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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;InitializeComponent();&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;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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: green"&gt;//Creamos el objeto proxy para interactuar con el web service&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&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-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;BusinessLogicWS.&lt;SPAN style="COLOR: #2b91af"&gt;SilverlightInterfaceSoapClient&lt;/SPAN&gt; wsProxy = &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; BusinessLogicWS.&lt;SPAN style="COLOR: #2b91af"&gt;SilverlightInterfaceSoapClient&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&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;wsProxy.getCustomerDataCompleted &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+= &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;EventHandler&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;BusinessLogicWS.&lt;SPAN style="COLOR: #2b91af"&gt;getCustomerDataCompletedEventArgs&lt;/SPAN&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;(getCustomerDataCompletedHandler);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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: blue"&gt;int&lt;/SPAN&gt; CustomerID = 1234;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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: green"&gt;//Realizamos la llamada asíncrona al web service&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;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&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-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;wsProxy.getCustomerDataAsync(CustomerID);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; getCustomerDataCompletedHandler(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&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-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;BusinessLogicWS.&lt;SPAN style="COLOR: #2b91af"&gt;getCustomerDataCompletedEventArgs&lt;/SPAN&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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: green"&gt;//Obtenemos los datos de la respuesta del web service&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&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-FAMILY: Consolas; COLOR: #2b91af; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;ObservableCollection&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&amp;lt;SilverlightTest.BusinessLogicWS.&lt;SPAN style="COLOR: #2b91af"&gt;ArrayOfAnyType&lt;/SPAN&gt;&amp;gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;data = e.Result;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&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-FAMILY: Consolas; COLOR: green; mso-bidi-font-size: 9.5pt"&gt;//Hacemos algo con esos datos&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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: blue"&gt;for&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; i=0; i&amp;lt;data.Count; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&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-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; j = 0; j &amp;lt; data[i].Count; j++ )&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US; mso-bidi-font-size: 9.5pt" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Debug&lt;/SPAN&gt;.WriteLine(data[i][j].ToString());&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&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;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #ffffff; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;FONT size=3&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;De esta forma, hemos construido una interfaz entre la aplicación Silverlight y nuestra biblioteca de clases .NET, pudiendo reutilizar el código de las bibliotecas de clases .NET y solventando los problemas de incompatibilidades entre tipos de datos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Hasta el próximo post, &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;- Daniel Mossberg&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9995185" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Ejemplos de C&amp;#243;digo" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Ejemplos+de+C_26002300_243_3B00_digo/" /><category term="Silverlight" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Silverlight/" /></entry><entry><title>Cómo capturar volcados de crash con Debug Diagnostics Tool</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2010/03/24/como-capturar-volcados-de-crash-con-debug-diagnostics-tool.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2010/03/24/como-capturar-volcados-de-crash-con-debug-diagnostics-tool.aspx</id><published>2010-03-24T11:29:00Z</published><updated>2010-03-24T11:29:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Este post es la continuación de &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2010/02/21/cuando-y-como-capturar-volcados-de-memoria-en-modo-crash.aspx"&gt;Cuándo y cómo capturar volcados de memoria en modo Crash&lt;/A&gt;&lt;/I&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;La he&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;rramienta Debug Diagnostics Tool se puede &lt;/SPAN&gt;&lt;/FONT&gt;&lt;A href="http://www.iis.net/downloads/download-item.ashx?i=1286"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#0000ff face=Calibri&gt;descargar desde aquí&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;, &lt;SPAN style="COLOR: black"&gt;tanto la versión de 32-bit como la de 64-bit. En el momento de escribir este post, la herramienta está en la versión 1.1 y está soportada para los siguientes sistemas operativos:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; COLOR: black; mso-ansi-language: EN-US; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN-US; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN-US&gt;&lt;FONT size=3&gt;Windows 2000 Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; COLOR: black; mso-ansi-language: EN-US; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN-US; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN-US&gt;&lt;FONT size=3&gt;Windows Server 2003&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; COLOR: black; mso-ansi-language: EN-US; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN-US; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN-US&gt;&lt;FONT size=3&gt;Windows XP&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Es decir, si pretendemos analizar un problema en Windows Server 2008, Windows Server 2008 R2, Windows Vista o Windows 7 es recomendable utilizar otras herramientas, aunque algunas funcionalidades de Debug Diagnostics pueden funcionar en estos sistemas operativos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;Nota&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;En el caso de los sistemas operativos de 64-bit, es conveniente instalar la versión de &lt;I&gt;DebugDiag&lt;/I&gt; en función del proceso que se va a monitorizar. Es decir, si el proceso es de 32-bit, es mejor utilizar la versión de 32-bit de &lt;I&gt;DebugDiag&lt;/I&gt; al margen de que Windows sea de 64-bit (de esta forma nos quitamos del medio la capa WOW64 que a veces dificulta la depuración). &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;I&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;DebugDiag &lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;nos permite capturar volcados de crash mediante las reglas de crash. &lt;SPAN style="mso-bidi-font-weight: bold"&gt;Las reglas de &lt;I style="mso-bidi-font-style: normal"&gt;crash&lt;/I&gt; de &lt;/SPAN&gt;&lt;I&gt;DebugDiag &lt;/I&gt;&lt;SPAN style="mso-bidi-font-weight: bold"&gt;permiten adjuntar un depurador a cualquier proceso y configurarlo para que genere volcados en el momento que se produzca una determinada excepción o cuando se finalice el proceso. Estos son los escenarios más comunes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-weight: bold"&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2010/03/24/como-capturar-volcados-de-crash-con-debug-diagnostics-tool.aspx#standard_crash" mce_href="http://blogs.msdn.com/daniem/archive/2010/03/24/como-capturar-volcados-de-crash-con-debug-diagnostics-tool.aspx#standard_crash"&gt;&lt;FONT color=#0000ff face=Calibri&gt;Volcados de crash de finalización de un proceso&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-weight: bold"&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2010/03/24/como-capturar-volcados-de-crash-con-debug-diagnostics-tool.aspx#dotnet_exception" mce_href="http://blogs.msdn.com/daniem/archive/2010/03/24/como-capturar-volcados-de-crash-con-debug-diagnostics-tool.aspx#dotnet_exception"&gt;&lt;FONT color=#0000ff face=Calibri&gt;Volcados de excepciones .NET&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;A id=standard_crash&gt;&lt;!----&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;VOLCADOS DE CRASH DE FINALIZACIÓN DE UN PROCESO&lt;/SPAN&gt;&lt;/B&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT face=Calibri&gt;Este es el escenario más común para capturar volcados de &lt;I style="mso-bidi-font-style: normal"&gt;crash&lt;/I&gt;, y consiste en generar un volcado de memoria en el momento que se produce la excepción no manejada que provoca la finalización del proceso. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT face=Calibri&gt;Para configurar una regla de &lt;I style="mso-bidi-font-style: normal"&gt;crash&lt;/I&gt; de estas características debemos posicionarnos en la pestaña [Rules] y posteriormente pulsar sobre el botón&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;[Add Rule…]. Posteriormente seguiremos estos pasos:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;1)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt;Seleccionar la opción [Crash] &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;2)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt;Configurar a que proceso(s) o aplicación(es) adjuntaremos el depurador mediante alguna de las alternativas que nos proporciona la herramienta (en muchas ocasiones hay varias opciones válidas para conseguir el mismo resultado):&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l2 level2 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;a)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;All active IIS/COM+ related processes&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Adjuntará el depurador a todos los procesos INETINFO.EXE, W3WP.EXE y DLLHOST.EXE que se ejecuten en la máquina. De esta forma obtendremos datos de cualquier &lt;I style="mso-bidi-font-style: normal"&gt;crash&lt;/I&gt; que se produzca en un proceso relacionado con IIS. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l2 level2 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;b)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;A specific process&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Adjuntará el depurador a un proceso específico (un determinado PID) o a todos los procesos con el mismo nombre de ejecutable (por ejemplo W3WP.EXE), en función de sí seleccionamos la opción &lt;I style="mso-bidi-font-style: normal"&gt;This process instance only&lt;/I&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l2 level2 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;c)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;A specific MTS/COM+ application&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Adjuntará el depurador al proceso DLLHOST.EXE que aloje la aplicación COM+ que indiquemos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l2 level2 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;d)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Web application pool&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Adjuntará el depurador al proceso W3WP.EXE que aloje el &lt;I style="mso-bidi-font-style: normal"&gt;application pool&lt;/I&gt; que indiquemos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l2 level2 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;e)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;NT Service&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt;: Adjuntará el depurador al proceso que aloje al servicio de Windows que indiquemos, por ejemplo SVCHOST.EXE. &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;3)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt;En la pantalla de configuración avanzada dejaremos la configuración predeterminada, de forma que no tome ninguna acción cuando se produzcan excepciones de &lt;I style="mso-bidi-font-style: normal"&gt;first chance&lt;/I&gt;: &lt;BR style="mso-special-character: line-break"&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/CmocapturarvolcadosdecrashconDebugDiagno_AF97/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/CmocapturarvolcadosdecrashconDebugDiagno_AF97/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/CmocapturarvolcadosdecrashconDebugDiagno_AF97/clip_image002_thumb.jpg" width=485 height=432 mce_src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/CmocapturarvolcadosdecrashconDebugDiagno_AF97/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape style="WIDTH: 363.75pt; HEIGHT: 324pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_1 type="#_x0000_t75" o:spid="_x0000_i1026"&gt;&lt;v:imagedata cropleft="41707f" croptop="21771f" cropright="13595f" cropbottom="16686f" o:title="" src="file:///C:\Users\daniem\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;4)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt;Por último debemos indicar el nombre de la regla, la ubicación donde volcará los datos generados y activarla para que empiece a capturar datos. En función del escenario, estos datos pueden ser de gran tamaño por lo que conviene elegir una unidad que no tenga problemas de espacio. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold; mso-fareast-language: ES"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;A id=dotnet_exception&gt;&lt;!----&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;VOLCADOS DE EXCEPCIONES .NET&lt;/SPAN&gt;&lt;/B&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT face=Calibri&gt;En muchas ocasiones necesitamos analizar volcados de determinadas excepciones .NET, para examinar el estado de los objetos implicados en el momento de producirse la excepción. A partir de .NET 2.0, el CLR hace una gran labor registrando información sobre las excepciones no manejadas en el log de eventos NT, pero en ocasiones no es suficiente y necesitamos los volcados de memoria. Para configurar una regla de &lt;I style="mso-bidi-font-style: normal"&gt;crash&lt;/I&gt; de estas características debemos posicionarnos en la pestaña [Rules] y posteriormente pulsar sobre el botón&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;[Add Rule…]. Posteriormente seguiremos estos pasos:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;1)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt;Seleccionar la opción [Crash] &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;2)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt;Configurar a que proceso(s) o aplicación(es) adjuntaremos el depurador mediante alguna de las alternativas que nos proporciona la herramienta. Habitualmente nos adjuntaremos a uno o varios procesos W3WP.EXE mediante alguno de los mecanismo que nos proporciona la herramienta:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l1 level2 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;a.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;All active IIS/COM+ related processes&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Adjuntará el depurador a todos los procesos INETINFO.EXE, W3WP.EXE y DLLHOST.EXE que se ejecuten en la máquina. De esta forma obtendremos datos de cualquier &lt;I style="mso-bidi-font-style: normal"&gt;crash&lt;/I&gt; que se produzca en un proceso relacionado con IIS. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l1 level2 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;b.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;A specific process&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Adjuntará el depurador a un proceso específico (un determinado PID) o a todos los procesos con el mismo nombre de ejecutable (por ejemplo W3WP.EXE), en función de sí seleccionamos la opción &lt;I style="mso-bidi-font-style: normal"&gt;This process instance only&lt;/I&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l1 level2 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;c.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;A specific MTS/COM+ application&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Adjuntará el depurador al proceso DLLHOST.EXE que aloje la aplicación COM+ que indiquemos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l1 level2 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;d.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Web application pool&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Adjuntará el depurador al proceso W3WP.EXE que aloje el &lt;I style="mso-bidi-font-style: normal"&gt;application pool&lt;/I&gt; que indiquemos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 54pt; mso-list: l1 level2 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;e.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;NT Service&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt;: Adjuntará el depurador al proceso que aloje al servicio de Windows que indiquemos, por ejemplo SVCHOST.EXE. &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;3)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;En la pantalla de configuración avanzada pulsamos sobre el botón [Exceptions] y en la ventana de &lt;I style="mso-bidi-font-style: normal"&gt;First Chance Exception Configuration&lt;/I&gt; le damos a [Add Exception…]. Esto abre una nueva ventana donde configuraremos la excepción específica que queremos monitorizar. Debemos seleccionar el tipo de excepción adecuado en la columna izquierda &lt;I style="mso-bidi-font-style: normal"&gt;CLR (.NET) Exception&lt;/I&gt; y posteriormente indicar el tipo de excepción y la acción a tomar. Es importante tener en cuenta que el campo [.NET Exception Type] es &lt;I style="mso-bidi-font-style: normal"&gt;case sensitive&lt;/I&gt;, por lo que debemos poner el nombre exacto de la excepción con las mayúsculas y minúsculas adecuadas. La acción a realizar cuando se produzca una excepción como la configurada será generar un &lt;I style="mso-bidi-font-style: normal"&gt;Full Userdump&lt;/I&gt;, y limitaremos esta acción a un máximo de 10 volcados: &lt;BR&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/CmocapturarvolcadosdecrashconDebugDiagno_AF97/clip_image003_2.png" mce_href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/CmocapturarvolcadosdecrashconDebugDiagno_AF97/clip_image003_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image003 border=0 alt=clip_image003 src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/CmocapturarvolcadosdecrashconDebugDiagno_AF97/clip_image003_thumb.png" width=670 height=625 mce_src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/CmocapturarvolcadosdecrashconDebugDiagno_AF97/clip_image003_thumb.png"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 502.5pt; HEIGHT: 468.75pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_7 type="#_x0000_t75" o:spid="_x0000_i1025"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\daniem\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;4)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;Una vez configurada la excepción adecuada, pulsamos [OK] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt; [Save &amp;amp; Close] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;à&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt; [Next], y finalizamos indicando el nombre de la regla, la ubicación donde volcará los datos generados y activando la regla para que empiece a capturar datos&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT face=Calibri&gt;En una serie de próximos posts, cubriré algunas técnicas para introducirse en el análisis de volcados de memoria.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT face=Calibri&gt;Happy hacking, &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt; Daniel Mossberg&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9984251" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Debugging" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Debugging/" /><category term="Herramientas" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Herramientas/" /></entry><entry><title>Cómo capturar una traza de red circular con Network Monitor</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2010/03/22/como-capturar-una-traza-de-red-circular-con-network-monitor.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2010/03/22/como-capturar-una-traza-de-red-circular-con-network-monitor.aspx</id><published>2010-03-22T16:48:00Z</published><updated>2010-03-22T16:48:00Z</updated><content type="html">&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;En ocasiones, necesitamos capturar trazas de red durante un periodo de tiempo prolongado, por ejemplo para esperar hasta que se produzca un determinado comportamiento aleatorio que pretendemos investigar. Para estos escenarios puede ser &amp;uacute;til capturar una traza de red circular, de forma que &amp;uacute;nicamente se guarden los &amp;uacute;ltimos &lt;i style="mso-bidi-font-style: normal;"&gt;n&lt;/i&gt; MB capturados, y los datos anteriores se vayan desechando autom&amp;aacute;ticamente. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;De esta forma, la traza puede estar capturando datos durante d&amp;iacute;as, y en el momento que se produzca el problema, paramos la traza que contendr&amp;aacute; el tr&amp;aacute;fico de red relevante que pretend&amp;iacute;amos investigar en un fichero de un tama&amp;ntilde;o manejable. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Es importante configurar un tama&amp;ntilde;o de buffer lo suficientemente grande para tener un margen desde que se reproduce el problema hasta que se para la traza, de forma que esta contenga el periodo de tiempo que se pretende investigar. El problema de las trazas circulares es que si se para la traza demasiado tarde, es posible que los datos que se pretend&amp;iacute;an investigar ya hayan sido desechados. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Network Monitor, permite capturar trazas circulares mediante la utilidad de l&amp;iacute;nea de comandos nmcap.exe. La sintaxis para capturar una traza circular de 200 MB ser&amp;iacute;a la siguiente:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;C:\...\Microsoft Network Monitor 3&amp;gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="background: red; mso-highlight: red;"&gt;nmcap.exe /network * /capture /file netTrace.cap:200M&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;Netmon Command Line Capture (nmcap) 3.3.1641.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;Saving info to:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;C:\Program Files\Microsoft Network Monitor 3\netTrace.cap - using circular buffer of size 200.00 MB.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;ATTENTION: Conversations Enabled: consumes more memory (see Help for details)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;Exit by Ctrl+C&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN-US" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN-US; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;Capturing&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;| Received: 411 Pending: 0 Saved: 411 Dropped: 0 | Time: 17 seconds.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;En el momento que se haya producido el problema, finalizamos la captura presionando &lt;b style="mso-bidi-font-weight: normal;"&gt;Ctrl + C&lt;/b&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Hasta el pr&amp;oacute;ximo post, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;- Daniel Mossberg&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9983073" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Herramientas" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Herramientas/" /></entry><entry><title>¿Qué son las excepciones de first chance y second chance?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2010/02/26/que-son-las-excepciones-de-first-chance-y-second-chance.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2010/02/26/que-son-las-excepciones-de-first-chance-y-second-chance.aspx</id><published>2010-02-26T13:51:00Z</published><updated>2010-02-26T13:51:00Z</updated><content type="html">&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Cuando adjuntamos un depurador a un proceso y se produce una excepción, el depurador es el primero en ser notificado de esa excepción. El depurador puede manejarla, o simplemente dejar que la ejecución siga su curso, en cuyo caso el siguiente en ser notificado de la excepción es la propia aplicación. Por lo tanto, esta primera oportunidad que tiene el depurador para capturar una excepción se llama &lt;I style="mso-bidi-font-style: normal"&gt;first chance&lt;/I&gt;. Examinando las excepciones con un depurador como WinDbg, podríamos ver algo parecido a esto:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;BR&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;(1f68.140c): &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: red"&gt;CLR exception&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: red"&gt; &lt;/SPAN&gt;- code e0434f4d (first chance)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;First chance exceptions are reported before any exception handling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;This exception may be expected and handled.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;KERNELBASE!RaiseException+0x39:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;000007fe`fcfcaa7d 4881c4c8000000&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;add&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;rsp,0C8h&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Examinando los detalles de la excepción .NET en cuestión (CLR Exception), podríamos ver que el depurador está capturando la siguiente excepción &lt;STRONG&gt;System.Web.HttpException&lt;/STRONG&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;0:032&amp;gt; !printexception&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;Exception object: 0000000155a173b8&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;Exception type: &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: red"&gt;System.Web.HttpException&lt;/SPAN&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;Message: &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: red"&gt;The file '/myApp/myUserControl.ascx' does not exist.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;InnerException: &amp;lt;none&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;StackTrace (generated):&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&amp;lt;none&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;StackTraceString: &amp;lt;none&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;HResult: 80004005&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;En esta ocasión, la aplicación ASP.NET&amp;nbsp;maneja la excepción adecuadamente, y el problema no pasa a mayores. No obstante, se puede dar la circunstancia de que la aplicación no maneje la excepción, o no pueda manejarla, en cuyo caso se lanzaría una excepción de &lt;I style="mso-bidi-font-style: normal"&gt;second chance.&lt;/I&gt;&amp;nbsp;Las excepciones de &lt;EM&gt;second chance&lt;/EM&gt; son la segunda y última oportunidad de capturar una excepción. En la mayoría de los casos, cuando se produce una excepción de &lt;I style="mso-bidi-font-style: normal"&gt;second chance&lt;/I&gt;, la ejecución&amp;nbsp;el proceso finaliza inmediatamente, se produce un &lt;EM&gt;crash&lt;/EM&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;En el siguiente ejemplo, vemos como se produce una excepción de Stack Overflow, y al no ser manejada por la aplicación (las excepciones de Stack Overflow particularmente, no se pueden manejar) se lanza primero una excepción de &lt;I style="mso-bidi-font-style: normal"&gt;first chance&lt;/I&gt;, y posteriormente en la misma instrucción de ensamblador, se lanza la excepción de &lt;I style="mso-bidi-font-style: normal"&gt;second chance&lt;/I&gt;. que provoca la finalización del proceso:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;(1f60.1c0c): &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: red"&gt;Stack overflow - code c00000fd (first chance)&lt;/SPAN&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;First chance exceptions are reported before any exception handling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;This exception may be expected and handled.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;eax=00032000 ebx=7ffd9000 ecx=0001f208 edx=7c82860c esi=00000000 edi=00000000&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;eip=00401237 esp=000378b4 ebp=000378bc iopl=0&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;nv up ei pl nz na pe nc&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;cs=001b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ss=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ds=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;es=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;fs=003b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;gs=0000&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;efl=00010206&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;StackOverflow!_chkstk+0x27:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;00401237 8500&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;test&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dword ptr [eax],eax&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ds:0023:00032000=00000000&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;(1f60.1c0c): &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: red"&gt;Stack overflow - code c00000fd (!!! second chance !!!)&lt;/SPAN&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;eax=00032000 ebx=7ffd9000 ecx=0001f208 edx=7c82860c esi=00000000 edi=00000000&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;eip=00401237 esp=000378b4 ebp=000378bc iopl=0&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;nv up ei pl nz na pe nc&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;cs=001b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ss=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ds=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;es=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;fs=003b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;gs=0000&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;efl=00010206&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;StackOverflow!_chkstk+0x27:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;00401237 8500&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;test&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dword ptr [eax],eax&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ds:0023:00032000=00000000&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Dependiendo del tipo de escenarios que estemos&amp;nbsp;investigando, puede ser relevante analizar las excepciones de &lt;EM&gt;first chance&lt;/EM&gt;, las de &lt;EM&gt;second chance&lt;/EM&gt;, o las dos. &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Hasta el próximo post, &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;- Daniel Mossberg&lt;/SPAN&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9969909" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Debugging" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Debugging/" /></entry><entry><title>Cuándo y cómo capturar volcados de memoria en modo Crash</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2010/02/21/cuando-y-como-capturar-volcados-de-memoria-en-modo-crash.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2010/02/21/cuando-y-como-capturar-volcados-de-memoria-en-modo-crash.aspx</id><published>2010-02-21T16:24:00Z</published><updated>2010-02-21T16:24:00Z</updated><content type="html">&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Habitualmente, cuando adjuntamos un depurador en modo &lt;I style="mso-bidi-font-style: normal"&gt;crash&lt;/I&gt; a un proceso, queremos que el depurador que realice una determinada &lt;I style="mso-bidi-font-style: normal"&gt;acción&lt;/I&gt; cuando se produzca un determinado &lt;I style="mso-bidi-font-style: normal"&gt;evento&lt;/I&gt;. Básicamente hay dos escenario típicos en los que adjuntaríamos un depurador en modo crash. Para generar volcados de memoria &lt;B style="mso-bidi-font-weight: normal"&gt;cuando se produzca una determinada excepción &lt;/B&gt;de &lt;I style="mso-bidi-font-style: normal"&gt;first chance&lt;/I&gt;, o para generar volcados de memoria &lt;B style="mso-bidi-font-weight: normal"&gt;cuando se finalice un proceso inesperadamente&lt;/B&gt; al producirse una excepción de &lt;I style="mso-bidi-font-style: normal"&gt;second chance&lt;/I&gt;. Para más información sobre tipos de excepciones, leer el post &lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2010/02/26/que-son-las-excepciones-de-first-chance-y-second-chance.aspx" mce_href="http://blogs.msdn.com/daniem/archive/2010/02/26/que-son-las-excepciones-de-first-chance-y-second-chance.aspx"&gt;¿Qué son las excepciones de first chance y second chance?&lt;/A&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Podemos utilizar dos herramientas distintas para capturar este tipo de volcados, Debug Diagnostics o Adplus. Las herramientas son funcionalmente equivalentes, aunque cada una tiene sus ventajas y sus desventajas. &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;En los siguientes posts encontraréis la información detallada sobre cómo generar los volcados con estas herramientas:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-ansi-language: EN; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol" lang=EN&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; mso-fareast-font-family: Symbol"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2010/03/24/como-capturar-volcados-de-crash-con-debug-diagnostics-tool.aspx" mce_href="http://blogs.msdn.com/daniem/archive/2010/03/24/como-capturar-volcados-de-crash-con-debug-diagnostics-tool.aspx"&gt;Cómo capturar volcados de crash con Debug Diagnostics Tool&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-ansi-language: EN; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol" lang=EN&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; mso-fareast-font-family: Symbol"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Cómo capturar volcados de crash con Adplus (próximamente)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Hasta pronto, &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;- Daniel Mossberg&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9969911" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Debugging" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Debugging/" /><category term="Herramientas" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Herramientas/" /></entry><entry><title>Elevado consumo de memoria del proceso DbgHost.exe de DebugDiag</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2010/01/26/elevado-consumo-de-memoria-del-proceso-dbghost-exe-de-debugdiag.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2010/01/26/elevado-consumo-de-memoria-del-proceso-dbghost-exe-de-debugdiag.aspx</id><published>2010-01-26T10:08:00Z</published><updated>2010-01-26T10:08:00Z</updated><content type="html">&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;En algunos entornos, cuando se utiliza Debug Diagnostics para monitorizar excepciones de .NET, se dispara el consumo de memoria del proceso &lt;B style="mso-bidi-font-weight: normal"&gt;DbgHost.exe&lt;/B&gt;. El motivo de la pérdida de memoria es un bug en la extensión del depurador SOS.dll que se instala con el Framework .NET, concretamente al ejecutar el comando &lt;B style="mso-bidi-font-weight: normal"&gt;!DumpObj&lt;/B&gt; de dicha extensión. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Para solucionar este problema, podemos modificar el fichero de script que genera &lt;I style="mso-bidi-font-style: normal"&gt;DebugDiag&lt;/I&gt; de forma que no utilice el comando &lt;B style="mso-bidi-font-weight: normal"&gt;!DumpObj&lt;/B&gt; sino &lt;B style="mso-bidi-font-weight: normal"&gt;!PrintException&lt;/B&gt; que no adolece del mismo problema. Por lo tanto, los pasos a seguir son los siguientes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Borrar todas las reglas de &lt;I style="mso-bidi-font-style: normal"&gt;DebugDiag&lt;/I&gt; existentes. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Volver a crear las regla para monitorizar excepciones .NET, &lt;U&gt;pero sin activarla&lt;/U&gt;&lt;B style="mso-bidi-font-weight: normal"&gt; &lt;/B&gt;al final del proceso. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;3)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Ir a la carpeta de scripts de &lt;I style="mso-bidi-font-style: normal"&gt;DebugDiag&lt;/I&gt;, la ruta podría ser algo parecido a esto: &lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;C:\Program Files\DebugDiag\scripts&lt;/SPAN&gt;&lt;/B&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;4)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;En esa carpeta encontraréis algún fichero cuyo nombre empiece por &lt;I style="mso-bidi-font-style: normal"&gt;CrashRule_...*.vbs&lt;/I&gt; con el nombre de la regla que habéis creado. Abrid este fichero con algún editor. &lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;5)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Buscad la función &lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;GetCLRExceptionType&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;, que tendrá un aspecto parecido a este:&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;Function&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; GetCLRExceptionType(&lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; ExceptionO&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;bjHexAddr, &lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; bInnerException)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;Dim&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; Output, Lines, i&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; Debugger.IsClrExtensionMissing &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;WriteToLog &lt;SPAN style="COLOR: maroon"&gt;"Unable to determine CLR exception type - extension dll could" &amp;amp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: maroon; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;"not be loaded."&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Else&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Output = Debugger.Execute(&lt;SPAN style="COLOR: maroon"&gt;"!DumpObj "&lt;/SPAN&gt; &amp;amp; ExceptionObjHexAddr)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Lines = Split(Output, Chr(10))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;For&lt;/SPAN&gt; i = 0 &lt;SPAN style="COLOR: blue"&gt;To&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;UBound&lt;/SPAN&gt;(Lines)&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; bInnerException &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Len&lt;/SPAN&gt;(Lines(i) &amp;gt;= 68) &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; InStr(Lines(i), &lt;SPAN style="COLOR: maroon"&gt;"_innerException"&lt;/SPAN&gt;) &amp;lt;&amp;gt; 0 &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;GetCLRExceptionType = GetCLRExceptionType(&lt;SPAN style="COLOR: maroon"&gt;"0x"&lt;/SPAN&gt; &amp;amp; Mid(Lines(i), _&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;60, 8), &lt;SPAN style="COLOR: blue"&gt;False&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Exit&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;For&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Len&lt;/SPAN&gt;(Lines(i)) &amp;gt;= 7 &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; InStr(Lines(i), &lt;SPAN style="COLOR: maroon"&gt;"Name: "&lt;/SPAN&gt;) = 1 &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;GetCLRExceptionType = Mid(Lines(i), 7)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;Exit&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; &lt;SPAN style="COLOR: blue"&gt;For&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Next&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;End&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; &lt;SPAN style="COLOR: blue"&gt;Function&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;6)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;Eliminad dicha función y sustituidla por esta otra:&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;Function&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt; GetCLRExceptionType(&lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; ExceptionObjHexAddr, &lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; bInnerException)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;Dim&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; Output, Lines, i&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; Debugger.IsClrExtensionMissing &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;WriteToLog &lt;SPAN style="COLOR: maroon"&gt;"Unable to determine CLR exception type - extension dll could" &amp;amp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: maroon; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;"not be loaded."&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;Else&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Output = Debugger.Execute(&lt;SPAN style="COLOR: maroon"&gt;"!PrintException"&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Lines = Split(Output, Chr(10))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;For&lt;/SPAN&gt; i = 0 &lt;SPAN style="COLOR: blue"&gt;To&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;UBound&lt;/SPAN&gt;(Lines)&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; bInnerException &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; InStr(Lines(i), &lt;SPAN style="COLOR: maroon"&gt;"_innerException"&lt;/SPAN&gt;) &amp;lt;&amp;gt; 0 &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Tokens = Split(Lines(i), &lt;SPAN style="COLOR: maroon"&gt;" "&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;For&lt;/SPAN&gt; j = 0 &lt;SPAN style="COLOR: blue"&gt;To&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;UBound&lt;/SPAN&gt;(Tokens)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Len&lt;/SPAN&gt;(Tokens(j)) = 8 &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 5"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;GetCLRExceptionType = GetCLRExceptionType(Tokens(j), &lt;SPAN style="COLOR: blue"&gt;False&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;Exit&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; &lt;SPAN style="COLOR: blue"&gt;For&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;End&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 2"&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 style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Next&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Len&lt;/SPAN&gt;(Lines(i)) &amp;gt;= 7 &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; InStr(Lines(i), &lt;SPAN style="COLOR: maroon"&gt;"Exception type:"&lt;/SPAN&gt;) = 1 &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;GetCLRExceptionType = Mid(Lines(i), 17)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;WriteToLog(Lines(i))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Exit&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;For&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 2"&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 style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;End&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;Next&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; mso-bidi-font-size: 9.5pt"&gt;End&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt; &lt;SPAN style="COLOR: blue"&gt;Function&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-bidi-font-size: 9.5pt"&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;7)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;Guardad los cambios en el fichero &lt;I style="mso-bidi-font-style: normal"&gt;CrashRule_...*.vbs&lt;/I&gt; volved a &lt;I style="mso-bidi-font-style: normal"&gt;DebugDiag&lt;/I&gt; y en la pestaña &lt;I style="mso-bidi-font-style: normal"&gt;Rules&lt;/I&gt; y activad la regla. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes; mso-fareast-language: ES"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape style="WIDTH: 394.5pt; HEIGHT: 156.75pt; VISIBILITY: visible; mso-wrap-style: square" id=_x0020_0 type="#_x0000_t75" o:spid="_x0000_i1025"&gt;&lt;v:imagedata cropright="45017f" cropbottom="52491f" o:title="" src="file:///C:\Users\daniem\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/f72499350a26_9CBE/clip_image002_3.jpg" width=526 height=209 mce_src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/f72499350a26_9CBE/clip_image002_3.jpg"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Realizando estos pases resolveréis el problema de consumo de memoria en &lt;B style="mso-bidi-font-weight: normal"&gt;DbgHost.exe&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Hasta el próximo post.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;- Daniel Mossberg&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9953437" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Debugging" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Debugging/" /><category term="Herramientas" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Herramientas/" /></entry><entry><title>Porque no se reflejan inmediatamente los cambios en aplicaciones ASP.NET </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/12/29/porque-no-se-reflejan-inmediatamente-los-cambios-en-aplicaciones-asp-net.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/12/29/porque-no-se-reflejan-inmediatamente-los-cambios-en-aplicaciones-asp-net.aspx</id><published>2009-12-29T17:12:00Z</published><updated>2009-12-29T17:12:00Z</updated><content type="html">&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Esta es una problem&amp;aacute;tica relativamente com&amp;uacute;n. Por ejemplo, actualizamos un ensamblado (DLL) de nuestra aplicaci&amp;oacute;n ASP.NET, y cuando la probamos vemos que todav&amp;iacute;a no se han reflejado los cambios y que la aplicaci&amp;oacute;n se comporta igual que antes del cambio. &amp;iquest;Por qu&amp;eacute; no se reflejan los cambios inmediatamente? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;ASP.NET trabaja con &lt;i&gt;&lt;span style="COLOR: #1f497d"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/2bh4z9hs.aspx"&gt;application domains&lt;/a&gt;&lt;/span&gt;&lt;/i&gt; para proporcionar aislamiento entre aplicaciones alojadas en un mismo proceso. El &lt;i&gt;application domain&lt;/i&gt; contiene todos los datos relacionados con una aplicaci&amp;oacute;n en particular, que son (simplificando): todos los ensamblados espec&amp;iacute;ficos de la aplicaci&amp;oacute;n, un objeto HttpRuntime y un objeto Cache. Un &lt;i&gt;application domain&lt;/i&gt; se puede descargar del proceso que lo aloja, pero un ensamblado no se puede descargar del &lt;i&gt;application domain&lt;/i&gt; que lo ha cargado.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Por lo tanto, cuando el runtime de .NET (CLR) detecta, por ejemplo, que alg&amp;uacute;n ensamblado de la carpeta &lt;b style="mso-bidi-font-weight: normal"&gt;~/bin&lt;/b&gt; de la aplicaci&amp;oacute;n ha&lt;span style="COLOR: #1f497d"&gt; &lt;/span&gt;&lt;span style="COLOR: black"&gt;sido modificado&lt;/span&gt;, carga un nuevo &lt;i&gt;application domain&lt;/i&gt; con la &amp;uacute;ltima versi&amp;oacute;n del ensamblado, y el &lt;i&gt;application domain&lt;/i&gt; antiguo se descarga del proceso en cuanto haya terminado de servir todas las &lt;span style="COLOR: black"&gt;peticiones en curso.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Cada vez que se reinicia el &lt;i&gt;application domain&lt;/i&gt;, todos los ensamblados tienen que volver a cargarse (previamente haciendo el shadow copy), el c&amp;oacute;digo vuelve a compilarse por el JIT-compiler, y la cache y las variables de &lt;span style="COLOR: black"&gt;sesi&amp;oacute;n se reinician&lt;/span&gt;. El proceso de reinicio del &lt;i&gt;application domain&lt;/i&gt; es bastante costoso, por lo que conviene evitar que se produzca cuando la aplicaci&amp;oacute;n web tiene mucha carga de usuarios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;ASP.NET utiliza la API Win32 &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa365465(VS.85).aspx"&gt;&lt;span style="font-family: Calibri;"&gt;ReadDirectoryChangesW&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri;"&gt; para monitorizar cambios en carpetas y ficheros. &lt;span style="COLOR: black"&gt;Cuando detecta alguno de los siguientes cambios, se reinicia el &lt;i style="mso-bidi-font-style: normal"&gt;application domain &lt;/i&gt;(esta lista la he sacado directamente del siguiente &lt;a href="http://blogs.msdn.com/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx"&gt;post&lt;/a&gt; de mi compa&amp;ntilde;era Tess):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;middot;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Modificaciones en Web.Config, Machine.Config o Glabal.asax&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;middot;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Modificaciones en la carpeta ~/bin o en su contenido&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;middot;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;La ruta f&amp;iacute;sica del directorio virtual es modificada&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;middot;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Alguna subcarpeta de la aplicaci&amp;oacute;n web es eliminada (s&amp;oacute;lo en ASP.NET 2.0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Adicionalmente, los siguientes eventos tambi&amp;eacute;n provocan un reinicio del &lt;i&gt;application domain&lt;/i&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;middot;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;La pol&amp;iacute;tica CAS (Code Access Security) es modificada.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;middot;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;El n&amp;uacute;mero de &lt;i style="mso-bidi-font-style: normal"&gt;&lt;span style="COLOR: black"&gt;recompilaciones din&amp;aacute;micas&lt;/span&gt;&lt;/i&gt;&lt;sup&gt;&lt;span style="COLOR: red"&gt;1&lt;/span&gt;&lt;/sup&gt;&lt;span style="COLOR: black"&gt; &lt;/span&gt;de &lt;span style="COLOR: black"&gt;ficheros *.aspx, *.ascx o *.asax&lt;/span&gt; excede el l&amp;iacute;mite especificado en la propiedad &lt;b&gt;&amp;lt;compilation numRecompilesBeforeAppRestart="15"/&amp;gt;&lt;/b&gt; en el machine.config o web.config&amp;nbsp; (por defecto este valor es de 15)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;sup&gt;&lt;span style="COLOR: red; FONT-SIZE: 12pt"&gt;1)&lt;/span&gt;&lt;/sup&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt; Es importante puntualizar que modificar un fichero *.aspx, *.ascx o *.asax tambi&amp;eacute;n implica una recompilaci&amp;oacute;n, dado que en ASP.NET absolutamente todo el c&amp;oacute;digo termina siendo compilado, incluso el c&amp;oacute;digo &amp;ldquo;HTML&amp;rdquo; de la capa de presentaci&amp;oacute;n. Las &lt;i style="mso-bidi-font-style: normal"&gt;recompilaciones din&amp;aacute;micas&lt;/i&gt;, se gestionan de una forma distinta ya que en lugar de reiniciar el &lt;i style="mso-bidi-font-style: normal"&gt;application domain&lt;/i&gt; directamente, se invalida el ensamblado con la versi&amp;oacute;n antigua del fichero .aspx, y se carga un nuevo ensamblado con la nueva versi&amp;oacute;n. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;A la larga, dado que no se pueden descargar ensamblados de un &lt;i style="mso-bidi-font-style: normal"&gt;application domain&lt;/i&gt;, este comportamiento de ASP.NET supondr&amp;iacute;a que el consumo de memoria aumentar&amp;iacute;a progresivamente debido a la acumulaci&amp;oacute;n de ensamblados invalidados. Por este motivo, ASP.NET reinicia el &lt;i style="mso-bidi-font-style: normal"&gt;application domain&lt;/i&gt; llegado un n&amp;uacute;mero determinado de recompilaciones, para de esta forma poder descargar los ensamblados invalidados. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-weight: bold"&gt;&lt;span style="font-family: Calibri;"&gt;Por lo tanto, &lt;b&gt;para evitar los problemas&lt;/b&gt; asociados a los reinicios de los &lt;i style="mso-bidi-font-style: normal"&gt;application domains&lt;/i&gt; y a las recompilaciones din&amp;aacute;micas, debemos &lt;b&gt;seguir las siguientes medidas&lt;/b&gt;:&lt;br style="mso-special-character: line-break" /&gt;&lt;br style="mso-special-character: line-break" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 12pt 18pt; mso-list: l0 level1 lfo2"&gt;&lt;span style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-family: Calibri;"&gt;a)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;Realizar despliegues a producci&amp;oacute;n cuando el servidor tenga la menor carga posible, o mejor incluso sac&amp;aacute;ndolo del balanceo de forma que no atienda peticiones. &lt;/span&gt;&lt;span style="COLOR: black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo2"&gt;&lt;span style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-family: Calibri;"&gt;b)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Cuando el punto &lt;i style="mso-bidi-font-style: normal"&gt;a)&lt;/i&gt; no sea posible, &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;podemos a&amp;ntilde;adir / modificar los par&amp;aacute;metros &lt;b&gt;waitChangeNotification&lt;/b&gt; y &lt;b&gt;maxWaitChangeNotification&lt;/b&gt; &lt;span style="COLOR: black"&gt;para minimizar &lt;/span&gt;el n&amp;uacute;mero de reinicios del &lt;i&gt;application domain&lt;/i&gt;. Estos par&amp;aacute;metros se pueden configurar en el &lt;i&gt;web.config&lt;/i&gt; de la aplicaci&amp;oacute;n &lt;span style="COLOR: black"&gt;web en cuesti&amp;oacute;n&lt;/span&gt;. Por ejemplo:&lt;/span&gt;&lt;span style="COLOR: #1f497d"&gt;&lt;br style="mso-special-character: line-break" /&gt;&lt;br style="mso-special-character: line-break" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;system.web&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;httpRuntime&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;waitChangeNotification&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;=&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;"&lt;span style="COLOR: blue"&gt;10&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;maxWaitChangeNotification&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;60&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;system.web&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Este mecanismo funciona de la siguiente manera:&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt; en el momento que sobrescribimos un fichero existente dentro de la estructura de carpetas de nuestra aplicaci&amp;oacute;n web, un objeto de File Change Notification detecta el cambio y transcurrido el tiempo que hayamos configurado en el campo &lt;b&gt;waitChangeNotification&lt;/b&gt; reiniciar&amp;aacute; el &lt;i&gt;application domain&lt;/i&gt;. Si durante este periodo de espera detecta otro cambio adicional, volver&amp;aacute; a esperar otra vez el n&amp;uacute;mero de segundo&lt;span style="COLOR: black"&gt;s&lt;/span&gt; que hayamos configurado en &lt;b&gt;waitChangeNotification&lt;/b&gt;, y as&amp;iacute; sucesivamente hasta que se alcance el tiempo de espera que hayamos configurado en &lt;b&gt;maxWaitChangeNotification&lt;/b&gt;. Cuando se alcanza el tiempo de espera configurado en &lt;b&gt;maxWaitChangeNotification&lt;/b&gt;, el &lt;i&gt;application domain&lt;/i&gt; se reinicia al margen de que se sigan detectando cambios.&lt;span style="COLOR: #1f497d"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;De esta forma, el &lt;i&gt;application domain&lt;/i&gt; no se reinicia hasta que se hayan &amp;ldquo;terminado de copiar&amp;rdquo; todos los nuevos ficheros a la carpeta de contenido, evitando as&amp;iacute; m&amp;uacute;ltiples &lt;span style="COLOR: black"&gt;reinicios&lt;/span&gt;&lt;span style="COLOR: #1f497d"&gt; &lt;/span&gt;con su consiguiente coste. Esta problem&amp;aacute;tica&lt;span style="COLOR: #1f497d"&gt; &lt;/span&gt;&lt;span style="COLOR: black"&gt;tambi&amp;eacute;n&lt;/span&gt; est&amp;aacute; descrita en detalle en el &lt;span style="COLOR: #1f497d"&gt;&lt;a href="http://blogs.msdn.com/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx"&gt;post&lt;/a&gt;&lt;/span&gt; &lt;span style="COLOR: black"&gt;al que hac&amp;iacute;a referencia antes de mi compa&amp;ntilde;era &lt;/span&gt;Tess Ferrandez&lt;span style="COLOR: #1f497d"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo2"&gt;&lt;span style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-family: Calibri;"&gt;c)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;En ocasiones es interesante probar si deshabilitando la &amp;ldquo;compilaci&amp;oacute;n por lotes&amp;rdquo; mejora el comportamiento. Este cambio ocasiona que no se compile la aplicaci&amp;oacute;n entera cuando se carga el &lt;i style="mso-bidi-font-style: normal"&gt;application domain&lt;/i&gt; sino &amp;uacute;nicamente las partes relevantes de la aplicaci&amp;oacute;n requeridas para atender la primera petici&amp;oacute;n. Por un lado se reduce el retraso inicial para responder a la primera petici&amp;oacute;n, aunque por otro lado, cuando llegue una petici&amp;oacute;n posterior que requiera una parte de la aplicaci&amp;oacute;n que no haya sido compilada, esa petici&amp;oacute;n tambi&amp;eacute;n experimentar&amp;aacute; un retraso. &lt;br /&gt;&lt;br /&gt;Este cambio aplica sobre todo para aplicaciones compuestas por gran cantidad de ensamblados y p&amp;aacute;ginas. &lt;br style="mso-special-character: line-break" /&gt;&lt;br style="mso-special-character: line-break" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;system.web&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 16pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;compilation&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;batch&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;=&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;"&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 16pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;system.web&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 16pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="MARGIN: 0cm 0cm 0pt 18pt"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Espero que esta informaci&amp;oacute;n os sea de utilidad. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;- Daniel Mossberg&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9941975" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="ASP.NET" scheme="http://blogs.msdn.com/b/daniem/archive/tags/ASP-NET/" /></entry><entry><title>Cómo capturar volcados de hang con Debug Diagnostics Tool</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/12/21/como-capturar-volcados-de-hang-con-debugdiag.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/12/21/como-capturar-volcados-de-hang-con-debugdiag.aspx</id><published>2009-12-21T21:02:00Z</published><updated>2009-12-21T21:02:00Z</updated><content type="html">&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Este post es la continuaci&amp;oacute;n de &lt;i style="mso-bidi-font-style: normal"&gt;&lt;a href="http://blogs.msdn.com/daniem/archive/2009/12/14/cuando-y-como-capturar-volcados-de-memoria-en-modo-hang.aspx"&gt;Cu&amp;aacute;ndo y c&amp;oacute;mo capturar volcados de memoria en modo Hang&lt;/a&gt;&lt;/i&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;La he&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt"&gt;rramienta Debug Diagnostics Tool se puede &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.iis.net/downloads/download-item.ashx?i=1286"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;descargar desde aqu&amp;iacute;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;, &lt;span style="COLOR: black"&gt;tanto la versi&amp;oacute;n de 32-bit como la de 64-bit. En el momento de escribir este post, la herramienta est&amp;aacute; en la versi&amp;oacute;n 1.1 y est&amp;aacute; soportada para los siguientes sistemas operativos:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Symbol; COLOR: black; mso-ansi-language: EN-US; 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;&amp;middot;&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN-US; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;span style="font-size: small;"&gt;Windows 2000 Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Symbol; COLOR: black; mso-ansi-language: EN-US; 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;&amp;middot;&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN-US; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;span style="font-size: small;"&gt;Windows Server 2003&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: Symbol; COLOR: black; mso-ansi-language: EN-US; 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;&amp;middot;&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-ansi-language: EN-US; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;span style="font-size: small;"&gt;Windows XP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="COLOR: black; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Es decir, si pretendemos analizar un problema en Windows Server 2008, Windows Server 2008 R2, Windows Vista o Windows 7 es recomendable utilizar otras herramientas, aunque algunas funcionalidades de Debug Diagnostics pueden funcionar en estos sistemas operativos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;Nota&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;En el caso de los sistemas operativos de 64-bit, es conveniente instalar la versi&amp;oacute;n de &lt;i&gt;DebugDiag&lt;/i&gt; en funci&amp;oacute;n del proceso que se va a monitorizar. Es decir, si el proceso es de 32-bit, es mejor utilizar la versi&amp;oacute;n de 32-bit de &lt;i&gt;DebugDiag&lt;/i&gt; al margen de que Windows sea de 64-bit (de esta forma nos quitamos del medio la capa WOW64 que a veces dificulta la depuraci&amp;oacute;n). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;i&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;DebugDiag &lt;/span&gt;&lt;/i&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;nos permite capturar volcados de hang b&amp;aacute;sicamente de tres formas distintas:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;a href="http://blogs.msdn.com/daniem/archive/2009/12/21/como-capturar-volcados-de-hang-con-debugdiag.aspx#all_iis_processes"&gt;Volcado manual de todos los procesos de IIS&lt;o:p&gt;&lt;/o:p&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;a href="http://blogs.msdn.com/daniem/archive/2009/12/21/como-capturar-volcados-de-hang-con-debugdiag.aspx#specific_process"&gt;Volcado manual de un proceso espec&amp;iacute;fico&lt;o:p&gt;&lt;/o:p&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;a href="http://blogs.msdn.com/daniem/archive/2009/12/21/como-capturar-volcados-de-hang-con-debugdiag.aspx#hang_rule"&gt;Regla de hang&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a id="all_iis_processes"&gt;&lt;!----&gt;&lt;/!----&gt;&lt;/a&gt;&lt;span style="font-family: Calibri;"&gt;&lt;b&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;VOLCADO MANUAL DE TODOS LOS PROCESOS DE IIS&lt;/span&gt;&lt;/b&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Podemos generar los volcados manualmente cuando se est&amp;eacute; reproduciendo el problema desde el men&amp;uacute; [Tools] &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Wingdings; COLOR: black; FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&amp;agrave;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt; [Create IIS/COM+ Hang Dump].&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="COLOR: black; mso-fareast-language: ES"&gt;&amp;nbsp;&lt;span style="mso-no-proof: yes"&gt;&lt;v:shapetype stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600" id="_x0000_t75"&gt; &lt;img height="220" width="392" src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/a22ded68b8c7_135C8/image_5.png" alt="image" border="0" title="image" style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" /&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape type="#_x0000_t75" o:spid="_x0000_i1027" id="Picture_x0020_1" style="width: 294pt; height: 165pt; visibility: visible; mso-wrap-style: square;"&gt;&lt;v:imagedata cropleft="29219f" croptop="34079f" cropright="18477f" cropbottom="15436f" src="file:///C:\Users\daniem\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Por defecto, los volcados se generar&amp;aacute;n en la ruta: &lt;b&gt;C:\Program Files\DebugDiag\Logs\Misc&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a id="specific_process"&gt;&lt;!----&gt;&lt;/!----&gt;&lt;/a&gt;&lt;span style="font-family: Calibri;"&gt;&lt;b&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;VOLCADO MANUAL DE UN PROCESOS ESPEC&amp;Iacute;FICO&lt;/span&gt;&lt;/b&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Podemos generar volcados manualmente de un proceso espec&amp;iacute;fico desde la pesta&amp;ntilde;a [Processes] &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Wingdings; COLOR: black; FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&amp;agrave;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt; [Bot&amp;oacute;n derecho sobre el proceso] &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Wingdings; COLOR: black; FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&amp;agrave;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt; [Create Full Userdump]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;img height="314" width="500" src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/a22ded68b8c7_135C8/image_8.png" alt="image" border="0" title="image" style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="COLOR: black; mso-no-proof: yes; mso-fareast-language: ES"&gt;&lt;v:shape type="#_x0000_t75" id="_x0000_i1026" style="width: 375pt; height: 235.5pt; visibility: visible; mso-wrap-style: square;"&gt;&lt;v:imagedata cropleft="3732f" croptop="21991f" cropright="39094f" cropbottom="20680f" src="file:///C:\Users\daniem\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;span style="font-family: Calibri;"&gt;Al igual que en el anterior caso, los volcados se generan en la ruta: &lt;b&gt;C:\Program Files\DebugDiag\Logs\Misc&lt;/b&gt;&lt;span style="mso-bidi-font-weight: bold"&gt;.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a id="hang_rule"&gt;&lt;!----&gt;&lt;/!----&gt;&lt;/a&gt;&lt;b&gt;&lt;span lang="EN-US" style="COLOR: black; FONT-SIZE: 12pt; mso-ansi-language: EN-US"&gt;&lt;span style="font-family: Calibri;"&gt;REGLA DE HANG&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-weight: bold"&gt;&lt;span style="font-family: Calibri;"&gt;Las reglas de &lt;i style="mso-bidi-font-style: normal"&gt;hang&lt;/i&gt; de Debug Diagnostic permiten monitorizar la salud de una aplicaci&amp;oacute;n web de forma automatizada, y generar volcados en el momento que la herramienta detecta que la aplicaci&amp;oacute;n no respohnde en los tiempos establecidos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-weight: bold"&gt;&lt;span style="font-family: Calibri;"&gt;Para configurar una regla de &lt;i style="mso-bidi-font-style: normal"&gt;hang&lt;/i&gt; debemos posicionarnos en la pesta&amp;ntilde;a [Rules] y posteriormente pulsar sobre el bot&amp;oacute;n&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;[Add Rule&amp;hellip;]. Posteriormente seguiremos estos pasos:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-size: small;"&gt;1)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="font-size: small;"&gt;Seleccionar la opci&amp;oacute;n [IIS Hang] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-size: small;"&gt;2)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;En la siguiente pantalla, seleccionar las URLs que queremos monitorizar con la herramienta. Debemos &lt;i style="mso-bidi-font-style: normal"&gt;configurar al menos una URL&lt;/i&gt;, pero en algunos escenario puede tener sentido monitorizar varias. El funcionamiento del mecanismo de monitorizaci&amp;oacute;n es muy sencillo. Se basa en realizar peticiones HTTP a las URLs configuradas, y esperar hasta que una de esas peticiones no sea atendida en el tiempo establecido para alertar al depurador que se est&amp;aacute; produciendo un &lt;i style="mso-bidi-font-style: normal"&gt;hang&lt;/i&gt;. &lt;br /&gt;&lt;br /&gt;Para cada URL, configuraremos independientemente la propiedad &lt;b&gt;ping interval&lt;/b&gt;, que es el intervalo de tiempo entre cada ping a la URL, y la propiedad &lt;b&gt;timeout&lt;/b&gt; que es el intervalo de tiempo que vamos a esperar a recibir una respuesta. En el momento que la respuesta al ping exceda el tiempo que hemos especificado en timeout, se generar&amp;aacute; un volcado autom&amp;aacute;ticamente. &lt;br /&gt;&lt;br /&gt;Los valores predeterminados de la herramienta establecen el valor de la propiedad &lt;b&gt;timeout&lt;/b&gt; a 120 segundos. Personalmente opino que es un valor muy excesivo, y que en la mayor&amp;iacute;a de los casos, si una petici&amp;oacute;n HTTP no ha respondido en 30 segundos, se puede confirmar que se est&amp;aacute; produciendo una contenci&amp;oacute;n. Es dif&amp;iacute;cil hacer una recomendaci&amp;oacute;n gen&amp;eacute;rica sobre estos par&amp;aacute;metros, porque depende mucho de cada aplicaci&amp;oacute;n y cada escenario individual. Yo suelo recomendar poner ambos valores a 30, pero al final eso lo tiene que decidir quien conoce la aplicaci&amp;oacute;n.&lt;br /&gt;&lt;br /&gt;&lt;img height="233" width="385" src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/a22ded68b8c7_135C8/image_11.png" alt="image" border="0" title="image" style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;br style="mso-special-character: line-break" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-size: small;"&gt;3)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="font-size: small;"&gt;En el siguiente paso, debemos configurar que har&amp;aacute; la herramienta cuando detecte que se est&amp;aacute; produciendo una situaci&amp;oacute;n de &lt;i style="mso-bidi-font-style: normal"&gt;hang&lt;/i&gt;. Para ello debemos pulsar sobre el bot&amp;oacute;n [Add Dump Target] y seleccionar alguna de las siguiente opciones:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-size: small;"&gt;a)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;All active IIS/COM+ related processes&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Generar&amp;aacute; volcados de todos los procesos INETINFO.EXE, W3WP.EXE y DLLHOST.EXE. Esta opci&amp;oacute;n es interesante cuando no sabemos a priori cual es el proceso que provoca la contenci&amp;oacute;n. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-size: small;"&gt;b)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Executable&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Generar&amp;aacute; volcados de todos los procesos con el mismo nombre que el proceso que indiquemos, por ejemplo W3WP.EXE.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-size: small;"&gt;c)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;COM+ application&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Generar&amp;aacute; un volcado del proceso DLLHOST.EXE que aloje la aplicaci&amp;oacute;n COM+ que indiquemos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-size: small;"&gt;d)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Web application pool&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;: Generar&amp;aacute; un volcado de memoria del proceso W3WP.EXE que aloja el &lt;i style="mso-bidi-font-style: normal"&gt;application pool&lt;/i&gt; que indiquemos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-size: small;"&gt;e)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;span style="font-size: small;"&gt;NT Service&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="font-size: small;"&gt;: Generar&amp;aacute; un volcado del proceso que aloje al servicio de Windows que indiquemos, por ejemplo SVCHOST.EXE. &lt;br style="mso-special-character: line-break" /&gt;&lt;br style="mso-special-character: line-break" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="font-size: small;"&gt;4)&lt;/span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-weight: bold"&gt;&lt;span style="font-size: small;"&gt;Por &amp;uacute;ltimo debemos indicar el nombre de la regla y la ubicaci&amp;oacute;n donde volcar&amp;aacute; los datos generados. En funci&amp;oacute;n de la circunstancias, estos datos pueden ser de gran tama&amp;ntilde;o por lo que conviene elegir una unidad que no tenga problemas de espacio.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="COLOR: black; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-weight: bold"&gt;&lt;span style="font-family: Calibri;"&gt;- Daniel Mossberg&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939771" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Debugging" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Debugging/" /><category term="Herramientas" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Herramientas/" /></entry><entry><title>Cuándo y cómo capturar volcados de memoria en modo Hang</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/12/14/cuando-y-como-capturar-volcados-de-memoria-en-modo-hang.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/12/14/cuando-y-como-capturar-volcados-de-memoria-en-modo-hang.aspx</id><published>2009-12-14T15:42:00Z</published><updated>2009-12-14T15:42:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;En el contexto de este post, se entiende por &lt;I style="mso-bidi-font-style: normal"&gt;hang&lt;/I&gt; (yo lo traduciría al castellano como &lt;I style="mso-bidi-font-style: normal"&gt;contención&lt;/I&gt;) una situación en la que una aplicación responde mucho más despacio de lo normal o deja de responder por completo. Una contención puede ser temporal (pasado un rato la aplicación vuelve a funcionar correctamente) o permanente (lo que se conoce como &lt;I style="mso-bidi-font-style: normal"&gt;deadlock&lt;/I&gt;), y puede ir asociada a un consumo de CPU elevado o un consumo bajo (o incluso nulo). &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Los volcados de memoria en modo hang muestran el estado de la memoria de un proceso en un momento determinado en el tiempo. Por lo tanto, para que la información contenida en el volcado tenga algún valor es imprescindible capturar el volcado en el momento adecuado. Revisemos los distintos escenarios en los que necesitaremos capturar volcados de memoria en modo hang:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Contención y consumo de CPU bajo&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Habitualmente, cuando la aplicación no responde ni consume CPU es que está esperando a &lt;I style="mso-bidi-font-style: normal"&gt;algo&lt;/I&gt; que se ejecuta en un proceso distinto o incluso en un servidor distinto. Por ejemplo, puede estar esperando a obtener respuesta de una llamada RPC, a obtener respuesta de una llamada por sockets, o a que se libere una sección crítica. En ocasiones, como ya adelantaba antes, estas contenciones pueden ser permanentes si esa respuesta nunca llega o la sección crítica nunca se libera (siguiendo con el ejemplo anterior). &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Para este tipo de problemas es interesante capturar &lt;B style="mso-bidi-font-weight: normal"&gt;tres volcados&lt;/B&gt; con un intervalo de un minuto entre cada uno (aproximadamente), y cuando sea posible capturar volcados de &lt;B style="mso-bidi-font-weight: normal"&gt;todos los procesos&lt;/B&gt; implicados en la aplicación &lt;B style="mso-bidi-font-weight: normal"&gt;cuando se esté reproduciendo el problema&lt;/B&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Esto nos permitirá ver cómo evoluciona el proceso con el tiempo (por eso cogemos varios volcados), y además obtendremos datos de todos los procesos implicados dado que a priori no podemos saber en qué proceso se produce la contención.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Las dos herramientas más comunes para capturar estos volcados son Debug Diagnostics y Adplus. En los siguientes posts encontraréis la información detallada sobre cómo generar los volcados: &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 12pt; mso-fareast-font-family: Calibri; mso-ansi-language: ES; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-language: EN-US; mso-bidi-font-weight: bold; mso-fareast-theme-font: minor-latin; mso-bidi-language: AR-SA"&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2009/12/21/como-capturar-volcados-de-hang-con-debugdiag.aspx"&gt;Cómo capturar volcados de hang con Debug Diagnostics Tool&lt;/A&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Cómo capturar volcados de hang con Adplus (próximamente)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ansi-language: EN-US; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Contención y consumo de CPU elevado&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Para este tipo de problemas, al contrario que la categoría anterior, es más evidente cual es el proceso que nos interesa analizar (el que consume CPU). Por lo tanto, la forma de capturar los volcados es ligeramente distinta. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Para este tipo de problemas es interesante capturar &lt;B style="mso-bidi-font-weight: normal"&gt;tres volcados&lt;/B&gt; con un intervalo de un minuto entre cada uno (aproximadamente) &lt;B style="mso-bidi-font-weight: normal"&gt;del proceso específico&lt;/B&gt; con elevado consumo de CPU &lt;B style="mso-bidi-font-weight: normal"&gt;cuando se esté reproduciendo el problema&lt;/B&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Al igual que en el anterior escenario, podemos utilizar las herramientas Debug Diagnostics y Adplus para capturar este tipo de volcados. Adicionalmente, existe una herramienta llamada &lt;I style="mso-bidi-font-style: normal"&gt;ProcDump&lt;/I&gt; diseñada especialmente para generar volcados cuando un proceso supere un determinado umbral de consumo de CPU. En los siguientes posts encontraréis la información detallada sobre cómo generar los volcados: &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 12pt; mso-fareast-font-family: Calibri; mso-ansi-language: ES; mso-bidi-theme-font: minor-latin; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-language: EN-US; mso-bidi-font-weight: bold; mso-fareast-theme-font: minor-latin; mso-bidi-language: AR-SA"&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2009/12/21/como-capturar-volcados-de-hang-con-debugdiag.aspx"&gt;Cómo capturar volcados de hang con Debug Diagnostics Tool&lt;/A&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Cómo capturar volcados de hang con Adplus (próximamente)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Cómo capturar volcados de hang con ProcDump (próximamente)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Próximamente veremos cuándo y cómo capturar volcados de memoria en modo crash. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Hasta pronto&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;- Daniel Mossberg&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9936559" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Debugging" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Debugging/" /><category term="Herramientas" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Herramientas/" /></entry><entry><title>Detalles sobre el error HTTP 413 - Request entity too large</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/12/11/detalles-sobre-el-error-http-413-request-entity-too-large.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/12/11/detalles-sobre-el-error-http-413-request-entity-too-large.aspx</id><published>2009-12-11T10:20:00Z</published><updated>2009-12-11T10:20:00Z</updated><content type="html">&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Imaginemos el siguiente escenario: Ten&amp;eacute;is una aplicaci&amp;oacute;n web que requiere o acepta certificados de cliente, y que mediante un formulario HTML hace POST para subir ficheros al servidor. En algunas ocasiones, cuando los ficheros superan un determinado tama&amp;ntilde;o, la petici&amp;oacute;n falla y en los logs de IIS vemos un error &lt;i style="mso-bidi-font-style: normal;"&gt;HTTP 413 &amp;ndash; Request entity too large&lt;/i&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Este es un comportamiento conocido cuando est&amp;aacute;n habilitados certificados de cliente en combinaci&amp;oacute;n con que se realiza un petici&amp;oacute;n HTTP de gran tama&amp;ntilde;o (por ejemplo un POST HTTP adjuntando ficheros). El motivo es que IIS lee los primeros &lt;i style="mso-bidi-font-style: normal;"&gt;n&lt;/i&gt; bytes de la petici&amp;oacute;n (ahora veremos qu&amp;eacute; determina esa &lt;i style="mso-bidi-font-style: normal;"&gt;n&lt;/i&gt;), asumiendo que deber&amp;iacute;an haber llegado todos los encabezados de la petici&amp;oacute;n (&lt;i style="mso-bidi-font-style: normal;"&gt;HTTP headers&lt;/i&gt;), pero no necesariamente todos los datos asociados (&lt;i style="mso-bidi-font-style: normal;"&gt;entity body&lt;/i&gt;) de la petici&amp;oacute;n. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Esto habitualmente no supone un problema, pero en nuestro escenario en particular, IIS examina los encabezados de la petici&amp;oacute;n, encuentra que la p&amp;aacute;gina requiere certificados de cliente y que por lo tanto necesita renegociar la conexi&amp;oacute;n SSL. Desafortunadamente, el cliente (IE) no puede renegociar la conexi&amp;oacute;n porqu&amp;eacute; est&amp;aacute; esperando a poder enviar el resto de datos del &lt;i style="mso-bidi-font-style: normal;"&gt;entity body&lt;/i&gt; a IIS. Para evitar que se produzca un &lt;i style="mso-bidi-font-style: normal;"&gt;deadlock&lt;/i&gt; (IIS esperando a poder renegociar la conexi&amp;oacute;n SSL e IE esperando a poder mandar el &lt;i style="mso-bidi-font-style: normal;"&gt;entity body&lt;/i&gt;), IIS devuelve un error HTTP 413 y cierra la conexi&amp;oacute;n. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Para evitar que se produzca este problema tenemos dos opciones:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri;"&gt;1)&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Para que la renegociaci&amp;oacute;n de la conexi&amp;oacute;n se pueda llevar a cabo, el &lt;i style="mso-bidi-font-style: normal;"&gt;entity body&lt;/i&gt; completo tiene que estar &amp;ldquo;precargado&amp;rdquo; utilizando SSL Preload. SSL Preload utiliza la propiedad de la metabase &lt;i style="mso-bidi-font-style: normal;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms525310(VS.90).aspx"&gt;UploadReadAheadSize&lt;/a&gt;&lt;/i&gt; para determinar el tama&amp;ntilde;o del buffer en el que almacenar&amp;aacute; la petici&amp;oacute;n (los n bytes a los que hac&amp;iacute;a referencia antes). Por lo tanto si el tama&amp;ntilde;o de este buffer es inferior al tama&amp;ntilde;o total de la petici&amp;oacute;n HTTP (lo que incluye los encabezados HTTP y el &lt;i style="mso-bidi-font-style: normal;"&gt;entity body&lt;/i&gt;), IIS devuelve el error HTTP 413. &lt;br style="mso-special-character: line-break;" /&gt;&lt;br style="mso-special-character: line-break;" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;El tama&amp;ntilde;o predeterminado de ese buffer son 48k, lo cual es un tama&amp;ntilde;o insuficiente en muchas ocasiones, pero que fue establecido as&amp;iacute; para evitar ataques de denegaci&amp;oacute;n de servicio subiendo ficheros &amp;ldquo;basura&amp;rdquo; de gran tama&amp;ntilde;o. &lt;br style="mso-special-character: line-break;" /&gt;&lt;br style="mso-special-character: line-break;" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;La sintaxis para aumentar dicho buffer es la siguiente, y se puede especificar de forma granular a nivel de directorio virtual:&lt;br style="mso-special-character: line-break;" /&gt;&lt;br style="mso-special-character: line-break;" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;C:\inetpub\adminscripts&amp;gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="background: red; mso-highlight: red;"&gt;cscript adsutil.vbs set w3svc/1/root/myApp/uploadreadaheadsize 20000000&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span lang="EN" style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-ansi-language: EN; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;Microsoft (R) Windows Script Host Version 5.6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.&lt;br style="mso-special-character: line-break;" /&gt;&lt;br style="mso-special-character: line-break;" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;uploadreadaheadsize&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;: (INTEGER) 20000000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;El n&amp;uacute;mero indicado es el n&amp;uacute;mero de bytes, por lo que 20.000.000 bytes (como en el ejemplo) ser&amp;iacute;an aproximadamente unas 19,1MB.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1;"&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri;"&gt;2)&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;La otra alternativa es habilitar la clave de la metabase &lt;i style="mso-bidi-font-style: normal;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms525310(VS.90).aspx"&gt;SSLAlwaysNegoClientCert&lt;/a&gt;&lt;/i&gt; de forma que forcemos a que por cada nueva conexi&amp;oacute;n SSL que se establezca, el servidor negociar&amp;aacute; inmediatamente el certificado de cliente. De esta forman se previene la renegociaci&amp;oacute;n, lo cual supone una ganancia de rendimiento en s&amp;iacute; misma, y adem&amp;aacute;s evita el problema asociado a las peticiones con &lt;i style="mso-bidi-font-style: normal;"&gt;entity body&lt;/i&gt; de gran tama&amp;ntilde;o. La sintaxis para habilitar esta clave es:&lt;br style="mso-special-character: line-break;" /&gt;&lt;br style="mso-special-character: line-break;" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;C:\inetpub\adminscripts&amp;gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="background: red; mso-highlight: red;"&gt;cscript adsutil.vbs set w3svc/1/SSLAlwaysNegoClientCert true&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;Microsoft (R) Windows Script Host Version 5.6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; background: black; mso-background-themecolor: text1;"&gt;&lt;span style="font-family: Consolas; color: #f2f2f2; font-size: 12pt; mso-themecolor: background1; mso-style-textfill-fill-color: #F2F2F2; mso-style-textfill-fill-themecolor: background1; mso-style-textfill-fill-alpha: 100.0%; mso-themeshade: 242; mso-style-textfill-fill-colortransforms: lumm=95000;"&gt;SSLAlwaysNegoClientCert&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;: (BOOLEAN) True&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size: 12pt; mso-ansi-language: EN; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span lang="EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN" style="font-size: 12pt; mso-ansi-language: EN; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;INFORMACI&amp;Oacute;N ADICIONAL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN" style="font-size: 12pt; mso-ansi-language: EN; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Client cannot renegotiate request and returns an HTTP 413 error (IIS 6.0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN" style="font-size: 12pt; mso-ansi-language: EN; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/7e0d74d3-ca01-4d36-8ac7-6b2ca03fd383.mspx?mfr=true"&gt;&lt;span style="font-family: Calibri; color: #0000ff;"&gt;http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/7e0d74d3-ca01-4d36-8ac7-6b2ca03fd383.mspx?mfr=true&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; tab-stops: 70.5pt;"&gt;&lt;span lang="EN" style="font-size: 12pt; mso-ansi-language: EN; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN" style="font-size: 12pt; mso-ansi-language: EN; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Happy hacking&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN" style="font-size: 12pt; mso-ansi-language: EN; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;- Daniel Mossberg&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9935615" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="IIS 6.0" scheme="http://blogs.msdn.com/b/daniem/archive/tags/IIS+6-0/" /><category term="SSL/TLS" scheme="http://blogs.msdn.com/b/daniem/archive/tags/SSL_2F00_TLS/" /></entry><entry><title>Acentos y eñes no se muestran correctamente</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/12/01/acentos-y-enies-no-se-muestran-correctamente.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/12/01/acentos-y-enies-no-se-muestran-correctamente.aspx</id><published>2009-12-01T11:15:00Z</published><updated>2009-12-01T11:15:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Los ordenadores procesan texto utilizando tablas de codificación para convertir secuencias de bits en caracteres alfanuméricos y viceversa. Cuando desarrollamos aplicaciones, y muy especialmente aplicaciones distribuidas o aplicaciones web, tenemos que tener en cuenta la codificación (o &lt;I style="mso-bidi-font-style: normal"&gt;enconding&lt;/I&gt;) con la que “ciframos” y “desciframos” los mensajes, dado que si utilizamos codificaciones distintas el mensaje resultante puede resultar incorrecto. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Antes de meternos de lleno en las consideraciones específicas de desarrollo, revisemos brevemente los &lt;I style="mso-bidi-font-style: normal"&gt;encodings&lt;/I&gt; más comunes que puede ser interesante conocer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;ASCII&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;ASCII (American Standard Code for Information Interchange) se desarrolló en los años 60 y es una tabla de codificación que utiliza 7 bits para representar 128 caracteres, de los cuales 94 son caracteres &lt;I style="mso-bidi-font-style: normal"&gt;legibles&lt;/I&gt; y 33 son caracteres de &lt;I style="mso-bidi-font-style: normal"&gt;control&lt;/I&gt; y el espacio que se considera un carácter &lt;I style="mso-bidi-font-style: normal"&gt;invisible&lt;/I&gt;. Esta codificación no sirve para representar la ‘ñ’ o los acentos, y hoy en día en muchos contextos se considera obsoleta. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Windows-1252 (Western European)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Históricamente era la codificación predeterminada en muchos contextos de Windows. Es una codificación de 8 bits para representar 256 caracteres, e incluye la mayoría de los caracteres utilizados en los alfabetos de Europa occidental. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;ISO-8859-1 (Latin 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Esta codificación ISO de 8 bits fue publicada en 1985, y es un subconjunto de la codificación Windows-1252 compuesto por 191 caracteres. Es informalmente conocida como &lt;I style="mso-bidi-font-style: normal"&gt;Latin 1&lt;/I&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;ISO-8859-15 (Latin 9)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;En 1999 se publicó esta codificación como una actualización de&lt;I style="mso-bidi-font-style: normal"&gt; ISO-8859-1&lt;/I&gt; para corregir algunas de sus limitaciones. Sigue utilizando 8 bits para representar cada carácter, y entre otros cambios se añadieron algunos caracteres del alfabeto fines (Š y Ž), y el símbolo del euro (€). Para poder acomodar estos cambios, se tuvieron que eliminar algunos otros caracteres de uso poco frecuente, entre los cuales se encontraban: ¤, ¦, ¨, ´, ¼, ½, y ¾.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;UTF-8&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;UTF-8 (8-bit Unicode Transformation Format) es una codificación de longitud variable entre 1 y 4 bytes. La representación de un byte (8 bits) de UTF-8 se reserva exclusivamente a los 128 caracteres de la tabla ASCII lo cual lo hace compatible hacia atrás. Los siguientes 1920 caracteres de UTF-8 requieren dos bytes para ser codificados, entre los cuales se incluyen el alfabeto latino, griego, cirílico, hebreo, árabe, sirio, etc. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Por lo tanto, la moraleja de este breve resumen, es que aunque tanto &lt;I style="mso-bidi-font-style: normal"&gt;Windows-1252&lt;/I&gt; y &lt;I style="mso-bidi-font-style: normal"&gt;UTF-8&lt;/I&gt; sean capaces de representar el carácter ‘Ñ’, lo hacen de forma distinta. De hecho, para ser más precisos lo hacen así:&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" class=MsoTableGrid border=1 cellSpacing=0 cellPadding=0 class="MsoTableGrid"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 84.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" vAlign=top width=113&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Codificación&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 35.45pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=47&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Glifo&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 134.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=180&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Representación Binaria&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 163.05pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=217&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Representación Hexadecimal&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 84.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=113&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Windows-1252&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 35.45pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=47&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Ñ&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 134.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=180&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;1101001&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 163.05pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=217&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;D1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 84.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=113&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;UTF-8&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 35.45pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=47&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Ñ&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 134.65pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=180&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;1100011 10010001&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 163.05pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=217&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;C3 91&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Por lo tanto, queda claro que si codificamos un texto utilizando &lt;I style="mso-bidi-font-style: normal"&gt;Windows-1252&lt;/I&gt; y posteriormente lo decodificamos los bytes resultantes utilizando &lt;I style="mso-bidi-font-style: normal"&gt;UTF-8&lt;/I&gt;, lo que inicialmente era un ‘Ñ’ va a pasar a ser cualquier otra cosa excepto una ‘Ñ’ al decodificarlo.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Ahora que ya tenemos más clara la problemática, os detallo algunas consideraciones concretas para ASP.NET:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;1)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Dado que ASP.NET nos permite configurar la codificación utilizada para generar las respuestas, y la codificación predeterminada para decodificar las peticiones, es importante asegurarse de que se utiliza la misma codificación en la otra parte implicada, el cliente. Esta es la configuración predeterminada de ASP.NET:&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt"&gt;configuration&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt"&gt;system.web&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt"&gt;globalization&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt"&gt;requestEncoding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt"&gt;"&lt;SPAN style="COLOR: blue"&gt;utf-8&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;responseEncoding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;"&lt;SPAN style="COLOR: blue"&gt;utf-8&lt;/SPAN&gt;" &lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;system.web&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;BR&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;configuration&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 16pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;2)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;En una respuesta HTTP podemos especificar la codificación del contenido en dos sitios. En el encabezado HTTP &lt;I style="mso-bidi-font-style: normal"&gt;Content-Type&lt;/I&gt; o en un &lt;I style="mso-bidi-font-style: normal"&gt;meta tag&lt;/I&gt; dentro del propio documento HTML. En caso de conflicto entre ambos (como en el ejemplo), tiene preferencia la configuración especificada en el encabezado HTTP. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;HTTP/1.1 200 OK&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=3&gt;Date: Tue, 1 Dec 2009 10:23:34 GMT&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;&lt;FONT size=3&gt;Server: Microsoft-IIS/6.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;&lt;FONT size=3&gt;Content-Length: 48&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=3&gt;Content-Type: text/html; &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;charset=utf-8&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;&lt;FONT size=3&gt;Cache-control: private&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;&lt;BR&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;html&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt; &lt;SPAN style="COLOR: red"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="http://www.w3.org/1999/xhtml"&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 16pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;head&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;meta&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;http-equiv&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Content-Type"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;content&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="text/html; &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;charset=ISO-8859-1&lt;/SPAN&gt;"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;head&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;…&lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 16pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;html&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 16pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Un problema frecuente es enviar respuestas HTTP sin especificar en ningún sitio la codificación utilizada. Cuando se da el caso, el cliente que recibe la respuesta tiene que determinar la codificación que utilizará para decodificar el contenido. Habitualmente, es tan sencillo como que el cliente utilizará la codificación predeterminada del sistema operativo, por lo que existe un elevado riesgo de que en algún cliente con una determinada configuración se muestre incorrectamente. &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;3)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Otro problema con el que me he encontrado en varias ocasiones es relativo al dialogo de descarga de Internet Explorer. Cuando generamos una respuesta HTTP dinamicamente desde ASP.NET para enviar un fichero, podemos encontrarnos con que el dialogo de descarga muestra el nombre del fichero con caracteres incorrectos: &lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/pic_AD7C/image_3.png" width=404 height=266 mce_src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/pic_AD7C/image_3.png"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Este problema se debe a que ASP.NET (1.1 y 2.0) por defecto codifican los encabezados HTTP con UTF-8. En ASP.NET 1.1 es necesario instalar la siguiente actualización para poder especificar la codificación de los encabezados: &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT face=Calibri&gt;FIX: The response header will always be encoded as UTF-8 when you use the Response.Addheader method in ASP.NET&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;895262" mce_href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;895262"&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT color=#0000ff face=Calibri&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;895262&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Una vez instalada la actualización, podemos especificarla en el web.config de la aplicación:&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 12pt"&gt;globalization&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 12pt"&gt;responseHeaderEncoding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt"&gt;"&lt;SPAN style="COLOR: blue"&gt;Windows-1252&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;En ASP.NET 2.0 se puede cambiar la codificación de los encabezados HTTP programáticamente además de mediante la opción del web.config (igual que en ASP.NET 1.1):&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;protected&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Page_Load(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: #2b91af"&gt;EventArgs&lt;/SPAN&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;//Leemos el fichero DOCX y lo almacenamos en un array de bytes&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; FileName = &lt;SPAN style="COLOR: #a31515"&gt;"Diseño gráfico.docx"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;string&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt; FilePath = MapPath(FileName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;byte&lt;/SPAN&gt;[] FileBytes = &lt;SPAN style="COLOR: #2b91af"&gt;File&lt;/SPAN&gt;.ReadAllBytes(FilePath);&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: green; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;//ASP.NET codifica los encabezados HTTP con 'utf-8' de forma &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;//predeterminada. Especificamos que utilice la codificación&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;//ANSI predeterminada del OS, que en mi caso es 'Windows-1252'&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: yellow; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-highlight: yellow; mso-no-proof: yes" lang=EN-US&gt;Response.HeaderEncoding = System.Text.&lt;SPAN style="COLOR: #2b91af"&gt;Encoding&lt;/SPAN&gt;.Default;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: green; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;//Establecemos el MIME type de la respuesta y añadimos el &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: green; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;//encabezado HTTP 'Content-Disposition'&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.ContentType = &lt;SPAN style="COLOR: #a31515"&gt;"application/docx; charset=utf-8"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.AddHeader(&lt;SPAN style="COLOR: #a31515"&gt;"Content-Disposition"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #a31515"&gt;"Inline; filename="&lt;/SPAN&gt; + &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&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-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;FileName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;//Envíamos el fichero en formato binario&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1; mso-layout-grid-align: none" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.BinaryWrite(FileBytes);&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-no-proof: yes"&gt;}&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Hasta el próximo post&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;- Daniel Mossberg&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9930679" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="ASP.NET" scheme="http://blogs.msdn.com/b/daniem/archive/tags/ASP-NET/" /><category term="Ejemplos de C&amp;#243;digo" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Ejemplos+de+C_26002300_243_3B00_digo/" /></entry><entry><title>Como solucionar problemas de conexión SSL/TLS contra IIS</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/10/30/como-solucionar-problemas-de-conexion-ssl-contra-iis.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/10/30/como-solucionar-problemas-de-conexion-ssl-contra-iis.aspx</id><published>2009-10-30T12:15:00Z</published><updated>2009-10-30T12:15:00Z</updated><content type="html">&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;La mayoría de los casos de soporte que nos abren para diagnosticar problemas al conectarse por HTTPS a un sitio web, suelen resolverse realizando alguno de los pasos descritos a continuación. Partimos de la premisa de que podemos acceder correctamente por HTTP para acotar el escenario a un problema al establecer la conexión HTTPS.&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;1)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Lo primero que suelo comprobar es que el certificado es válido y está emitido con el propósito adecuado. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;a)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Para ello debemos examinar las propiedades del certificado de servidor, y en la pestaña &lt;I style="mso-bidi-font-style: normal"&gt;General&lt;/I&gt; verificar que el certificado es válido y tiene una clave privada.&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-no-proof: yes; mso-fareast-language: ES"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape style="WIDTH: 311.25pt; HEIGHT: 360.75pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_6 type="#_x0000_t75" o:spid="_x0000_i1028"&gt;&lt;v:imagedata cropright="34057f" cropbottom="7160f" o:title="" src="file:///C:\Users\daniem\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image003_2.png" mce_href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image003_2.png"&gt;&lt;/A&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image002_3.jpg" width=415 height=481 mce_src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image002_3.jpg"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/P&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;b)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Comprobar también en la pestaña &lt;I style="mso-bidi-font-style: normal"&gt;Details&lt;/I&gt; que la propiedad &lt;I style="mso-bidi-font-style: normal"&gt;Enhanced Key Usage&lt;/I&gt; (o &lt;I style="mso-bidi-font-style: normal"&gt;Uso Mejorado de Clave&lt;/I&gt;) incluye el valor &lt;B style="mso-bidi-font-weight: normal"&gt;Server Authentication (1.3.6.1.5.5.7.3.1)&lt;/B&gt;.&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes; mso-fareast-language: ES"&gt;&lt;v:shape style="WIDTH: 306.75pt; HEIGHT: 357pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_2 type="#_x0000_t75" o:spid="_x0000_i1027" alt="cid:image003.png@01CA4843.F8351EC0"&gt;&lt;v:imagedata o:title="image003.png@01CA4843" src="file:///C:\Users\daniem\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image003_2.png" mce_href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image003_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image003 border=0 alt=clip_image003 src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image003_thumb.png" width=409 height=476 mce_src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image003_thumb.png"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;c)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Por último vayamos a la pestaña &lt;I style="mso-bidi-font-style: normal"&gt;Certification Path&lt;/I&gt; y verifiquemos que todos los certificados en la cadena de certificación tienen el estado &lt;B style="mso-bidi-font-weight: normal"&gt;OK&lt;/B&gt;.&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes; mso-fareast-language: ES"&gt;&lt;v:shape style="WIDTH: 306.75pt; HEIGHT: 102pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_3 type="#_x0000_t75" o:spid="_x0000_i1026"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\daniem\AppData\Local\Temp\msohtmlclip1\01\clip_image004.png" croptop="46811f"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image005_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image005_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image005 border=0 alt=clip_image005 src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image005_thumb.jpg" width=409 height=136 mce_src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image005_thumb.jpg"&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;Las condiciones descritas en los pasos a, b y c constituyen el mínimo imprescindible para que se pueda establecer una conexión SSL, pero el hecho de que todo esté correcto no descarta por completo que el problema se encuentre en el certificado. Más adelante realizaremos pruebas adicionales para descartar problemas de integridad con el certificado.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;2)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Comprobar si existe un conflicto con alguna otra aplicación que esté escuchando por el puerto 443 (o el que aplique en cada caso). Si este es el caso, es posible que veamos el siguiente evento registrado en los logs de eventos NT:&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: #f2f2f2; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;Event Type:&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Error&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: #f2f2f2; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;Event Source: &lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;W3SVC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: #f2f2f2; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;Event Category:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;None&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: #f2f2f2; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;Event ID:&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;1114&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: #f2f2f2; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;Description:&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;One of the IP/Port combinations for site '1' has already been configured to be used by another program. &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: #f2f2f2; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: background1; mso-shading-themeshade: 242"&gt;The other program's SSL configuration will be used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;Para diagnosticar esta situación, inicialmente ejecutaremos el siguiente comando:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-themecolor: background1; mso-themeshade: 242"&gt;&lt;FONT size=3&gt;C:\WINDOWS\system32&amp;gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="BACKGROUND: red; mso-highlight: red"&gt;netstat -noa&lt;/SPAN&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1" class=MsoListParagraph&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Si todo es correcto, sólo debería haber &lt;B style="mso-bidi-font-weight: normal"&gt;una&lt;/B&gt; aplicación escuchando por el puerto 443, y el resultado debería ser algo parecido a esto (el PID 4 siempre equivale al proceso &lt;B style="mso-bidi-font-weight: normal"&gt;System&lt;/B&gt;):&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;Active Connections&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Proto&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Local Address&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Foreign Address&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;State&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;PID&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242"&gt;TCP&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0.0.0.0:80&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0.0.0.0:0&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;LISTENING&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;TCP&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0.0.0.0:135&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0.0.0.0:0&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;LISTENING&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;688&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: yellow; COLOR: black; mso-highlight: yellow; mso-bidi-font-size: 12.0pt; mso-themecolor: text1"&gt;TCP&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0.0.0.0:443&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0.0.0.0:0&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;LISTENING&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; mso-bidi-font-size: 12.0pt; mso-themecolor: text1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;TCP&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0.0.0.0:445&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0.0.0.0:0&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;LISTENING&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;Si nos surgen dudas sobre si realmente es IIS (o el proceso &lt;B style="mso-bidi-font-weight: normal"&gt;System&lt;/B&gt;) el que está escuchando por el puerto 443, podéis utilizar la herramienta &lt;B style="mso-bidi-font-weight: normal"&gt;tasklist.exe&lt;/B&gt; o simplemente &lt;I style="mso-bidi-font-style: normal"&gt;Task Manager &lt;/I&gt;para confirmarlo. Si el puerto estuviera en uso por otra aplicación, habría que determinar &lt;I style="mso-bidi-font-style: normal"&gt;qué&lt;/I&gt; aplicación usa el puerto y &lt;I style="mso-bidi-font-style: normal"&gt;para qué&lt;/I&gt;. La forma de verificar si este es realmente el problema sería probar a configurar SSL en un puerto distinto y verificar si funciona.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Si &lt;B style="mso-bidi-font-weight: normal"&gt;netstat&lt;/B&gt; no arroja luz sobre el conflicto de puertos, pero no obstante vemos el evento mencionado anteriormente (Event ID 1114) en los logs de eventos, ejecutaremos el siguiente comando para sacar un listado de los certificados SSL asociados a IIS:&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: black; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: text1; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;C:\Program Files\Support Tools&amp;gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="BACKGROUND: red; mso-highlight: red"&gt;httpcfg query ssl&lt;/SPAN&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="BACKGROUND: #f2f2f2; FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ansi-language: EN-US; mso-bidi-theme-font: minor-latin; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: white; mso-background-themecolor: background1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Cuando revisemos la lista debemos buscar alguna entrada en la que el campo de &lt;I style="mso-bidi-font-style: normal"&gt;Hash&lt;/I&gt; y &lt;I style="mso-bidi-font-style: normal"&gt;CertStoreName&lt;/I&gt; están vacíos o nulos, y el &lt;I style="mso-bidi-font-style: normal"&gt;Guid&lt;/I&gt; está todo a ceros. Este es indicativo de un problema. &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/P&gt;&lt;SPAN style="BACKGROUND: #f2f2f2; mso-shading-themecolor: background1; mso-shading-themeshade: 242"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;IP&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: 0.0.0.0:443&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;Hash&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;Guid&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: {00000000-0000-0000-0000-000000000000}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;CertStoreName&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: (null)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;CertCheckMode&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;RevocationFreshnessTime : 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;UrlRetrievalTimeout&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;SslCtlIdentifier&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: (null)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;SslCtlStoreName&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: (null)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;Flags&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: white; mso-background-themecolor: background1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Para solventar este problema, debemos eliminar el &lt;I style="mso-bidi-font-style: normal"&gt;binding&lt;/I&gt; entre IIS y el certificado ejecutando el siguiente comando (la sintaxis genérica es: &lt;I style="mso-bidi-font-style: normal"&gt;httpcfg delete ssl -i ip:puerto&lt;/I&gt;):&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: black; COLOR: #f2f2f2; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: text1; mso-themecolor: background1; mso-themeshade: 242"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: black; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: text1; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;C:\Program Files\Support Tools&amp;gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="BACKGROUND: red; mso-highlight: red"&gt;httpcfg delete ssl -i 0.0.0.0:443&lt;/SPAN&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Y posteriormente volver a configurar el certificado SSL desde INETMGR.EXE. Si volvemos a listar los certificados SSL con httpcfg.exe el resultado ahora debería ser algo parecido a esto:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;IP&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: 0.0.0.0:443&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;Hash&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: d753a06831d416db4bf2 9f5 aa33ae714dfba5d&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;Guid&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: {4dc3e181-e14b-4a21-b022-59fc669b0914}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;CertStoreName&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: MY&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;CertCheckMode&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;RevocationFreshnessTime : 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;UrlRetrievalTimeout&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;SslCtlIdentifier&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;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;SslCtlStoreName&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;Flags&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;3)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Crear un certificado de pruebas con &lt;B style="mso-bidi-font-weight: normal"&gt;SelfSSL.exe&lt;/B&gt; para verificar que el problema no es del certificado. Esta herramienta se puede descargar como parte del &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&amp;amp;displaylang=en"&gt;Resource Kit de IIS 6.0&lt;/A&gt;&lt;/I&gt;. La herramienta genera un certificado de pruebas automáticamente y lo instala para un sitio web determinado. La sintaxis es la siguiente:&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: #f2f2f2; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;selfssl.exe /N:CN=[Nombre Cert.] /V:[Días Validez Cert.] /S:[ID Sitio Web] /P:[Puerto SSL]&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Por ejemplo, para nuestro sitio web de anteriores ejemplos ejecutaríamos el siguiente comando y posteriormente volveríamos a probar si podemos establecer la conexión HTTPS:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;C:\Program Files\IIS Resources\SelfSSL&amp;gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="BACKGROUND: red; mso-highlight: red"&gt;selfssl.exe /N:CN=mywebsite.microsoft.com /V:365 /S:1 /P:443&lt;/SPAN&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242"&gt;&lt;FONT size=3&gt;Microsoft (R) SelfSSL Version 1.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242"&gt;Copyright &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;(C) 2003 Microsoft Corporation. All rights reserved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;Do you want to replace the SSL settings for site 1 (Y/N)?Y&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 18pt; BACKGROUND: black; mso-background-themecolor: text1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #f2f2f2; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-themecolor: background1; mso-themeshade: 242" lang=EN-US&gt;&lt;FONT size=3&gt;The self-signed certificate was successfully assigned to site 1.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;4)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Por último reinstalaremos el certificado seleccionando manualmente el almacén de certificados en el que se instala. Es decir, al instalar el certificado, no seleccionar la opción de &lt;I style="mso-bidi-font-style: normal"&gt;Automatically select the certificate store based on the type of certificate&lt;/I&gt;, sino hacerlo manualmente marcando la casilla &lt;I style="mso-bidi-font-style: normal"&gt;Show physical stores&lt;/I&gt; y seleccionando el almacén deseado desde aquí. &lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes; mso-fareast-language: ES"&gt;&lt;v:shape style="WIDTH: 213.75pt; HEIGHT: 192pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_4 type="#_x0000_t75" o:spid="_x0000_i1025" alt="cid:image007.png@01CA51D6.49291200"&gt;&lt;v:imagedata o:title="image007.png@01CA51D6" src="file:///C:\Users\daniem\AppData\Local\Temp\msohtmlclip1\01\clip_image006.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image006_2.png" mce_href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image006_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image006 border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image006_thumb.png" width=285 height=256 mce_src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/ProblemasalaccederporHTTPSaunsitioweb_BA13/clip_image006_thumb.png"&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;De esta forma descartaremos que tenemos el problema descrito en el post &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://blogs.msdn.com/alejacma/archive/2008/04/18/certificate-has-private-key-but-we-can-t-find-it.aspx"&gt;Certificate has private key but we get "the keyset does not exist" error&lt;/A&gt;&lt;/I&gt;.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Si llegados a este punto seguís sin poder establecer una conexión HTTPS contra vuestro servidor, será un buen momento para abrir un caso de soporte con Microsoft. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Espero que os haya sido de utilidad.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;- Daniel Mossberg&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915230" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="SSL/TLS" scheme="http://blogs.msdn.com/b/daniem/archive/tags/SSL_2F00_TLS/" /></entry><entry><title>Depuración de aplicaciones .NET con WinDbg</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/09/30/depuracion-de-aplicaciones-net-con-windbg.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/09/30/depuracion-de-aplicaciones-net-con-windbg.aspx</id><published>2009-10-01T00:24:00Z</published><updated>2009-10-01T00:24:00Z</updated><content type="html">&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Mi compañero Alejandro Campos ha terminado recientemente una serie de posts dedicados a la depuración de aplicaciones .NET utilizando WinDbg. La serie es una referencia muy completa que explica desde cómo poner un punto de parada al ejecutar un determinado método, cómo ver que objetos consumen más memoria, cómo desensamblar un ensamblado .NET, hasta cómo ver que threads consumen más tiempo de CPU. &lt;BR&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/alejacma/archive/2009/07/07/managed-debugging-with-windbg-introduction-and-index.aspx" mce_href="http://blogs.msdn.com/alejacma/archive/2009/07/07/managed-debugging-with-windbg-introduction-and-index.aspx"&gt;http://blogs.msdn.com/alejacma/archive/2009/07/07/managed-debugging-with-windbg-introduction-and-index.aspx&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9901516" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Debugging" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Debugging/" /></entry><entry><title>Errores HTTP 413 en conexiones SSL cuando se suben grandes ficheros</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/09/18/errores-http-413-en-conexiones-ssl-cuando-se-suben-grandes-ficheros.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/09/18/errores-http-413-en-conexiones-ssl-cuando-se-suben-grandes-ficheros.aspx</id><published>2009-09-18T13:42:00Z</published><updated>2009-09-18T13:42:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;DESCRIPCIÓN DEL PROBLEMA&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Tenéis una aplicación ASP.NET que requiere certificados de cliente y en la que realizan peticiones HTTP de gran tamaño (por ejemplo un POST HTTP adjuntando ficheros). Cuando el tamaño de la petición (o el fichero adjunto) supera un determinado límite falla, y en los logs de IIS vemos el error &lt;I&gt;HTTP 413 – Request entity too large&lt;/I&gt;. Si la aplicación cliente es .NET, la petición HTTP o llamada a web service fallará, y veremos el siguiente mensaje de error asociado:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;The underlying connection was closed: An unexpected error occurred on a send&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;O su variante en castellano:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;Se ha terminado la conexión: Error inesperado de envío&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;RESOLUCIÓN&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Ver el post &lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: Calibri; mso-ansi-language: EN; mso-bidi-theme-font: minor-bidi; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-size: 11.0pt; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-bidi-language: AR-SA" lang=EN&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2009/12/11/detalles-sobre-el-error-http-413-request-entity-too-large.aspx"&gt;Detalles sobre el error HTTP 413&lt;/A&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Happy hacking&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;- Daniel Mossberg&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9896783" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="IIS 6.0" scheme="http://blogs.msdn.com/b/daniem/archive/tags/IIS+6-0/" /><category term="SSL/TLS" scheme="http://blogs.msdn.com/b/daniem/archive/tags/SSL_2F00_TLS/" /></entry><entry><title>Errores 401 en IIS al habilitar la autenticación de Windows integrada</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/09/16/errores-401-en-iis-al-habilitar-la-autenticacion-de-windows-integrada.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/09/16/errores-401-en-iis-al-habilitar-la-autenticacion-de-windows-integrada.aspx</id><published>2009-09-16T18:30:00Z</published><updated>2009-09-16T18:30:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt; tab-stops: 141.0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Hoy quería escribir sobre caso en el que trabajé hace unas semanas, no por la complejidad del problema, si no por mostrar un ejemplo de cómo abordar un problema y qué herramientas utilizar cuando no tienes ni idea de &lt;I style="mso-bidi-font-style: normal"&gt;por dónde van los tiros&lt;/I&gt;. Los datos iniciales que tenía del problema era que el cliente tenía un portal de SharePoint en el que todas las páginas le daban errores HTTP 401 si habilitaba la autenticación de Windows integrada. Si configuraba autenticación básica o acceso anónimo los portales funcionaban correctamente. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; tab-stops: 141.0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; tab-stops: 141.0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Mi primera hipótesis fue que probablemente los errores se debían a un problema en la configuración de Kerberos, pero pronto descubrí que tenían configurada únicamente la autenticación por NTLM. Kerberos estaba deshabilitado en la configuración de IIS:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; tab-stops: 141.0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; tab-stops: 141.0pt; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: gray; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Courier New'; mso-ansi-language: EN-US; mso-themecolor: background1; mso-themeshade: 128" lang=EN-US&gt;C:\Inetpub\AdminScripts&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Courier New'; mso-ansi-language: EN-US" lang=EN-US&gt;cscript adsutil.vbs get W3SVC/1/NTAuthenticationProviders&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; tab-stops: 141.0pt; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Courier New'; mso-ansi-language: EN-US" lang=EN-US&gt;Microsoft (R) Windows Script Host Version 5.6&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; tab-stops: 141.0pt; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Courier New'; mso-ansi-language: EN-US" lang=EN-US&gt;Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; tab-stops: 141.0pt; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Courier New'; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; tab-stops: 141.0pt; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Courier New'"&gt;NTAuthenticationProviders&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: (STRING) "NTLM"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Puesto que no tenía ni idea de cuál podría ser la causa de este comportamiento, le pedí los siguientes logs al cliente:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;La metabase de IIS (en Windows Server 2003 se encuentra en la siguiente ruta: %WINDIR%\system32\inetsrv\metabase.xml).&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Los logs de IIS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Unas trazas de red capturadas mientras reproducían el error.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Examinando los logs de IIS veíamos los errores HTTP 401, pero no arrojaban luz sobre el origen del problema: &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Courier New'; mso-ansi-language: EN-US" lang=EN-US&gt;#Fields: date time s-sitename … sc-status sc-substatus sc-win32-status &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Courier New'; mso-ansi-language: EN-US" lang=EN-US&gt;2009-09-16 14:37:46 W3SVC1 … 401 2 2148074254 &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Courier New'; mso-ansi-language: EN-US" lang=EN-US&gt;2009-09-16 14:37:46 W3SVC1 … 401 1 0 &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Yo esperaba encontrar alguna pista al menos a partir del estado win32, pero el estado &lt;B style="mso-bidi-font-weight: normal"&gt;2148074254&lt;/B&gt; (&lt;I style="mso-bidi-font-style: normal"&gt;No credentials are available in the security package&lt;/I&gt;) en la primera petición es esperado (ver el siguiente &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2009/07/02/Son-normales-los-errores-HTTP-401.1-y-401.2-que-veo-en-mis-logs-de-IIS.aspx"&gt;&lt;FONT face=Calibri&gt;post&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; para más detalles), y en la segunda petición el resultado era &lt;B style="mso-bidi-font-weight: normal"&gt;0&lt;/B&gt; (&lt;I style="mso-bidi-font-style: normal"&gt;The operation completed successfully&lt;/I&gt;). Y lo más extraño de todo, es que no se registraba una tercera y última petición para finalizar la secuencia de autenticación como sería lo normal (de nuevo, ver el &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2009/07/02/Son-normales-los-errores-HTTP-401.1-y-401.2-que-veo-en-mis-logs-de-IIS.aspx"&gt;&lt;FONT face=Calibri&gt;post&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; al que hacía referencia antes). &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Analizando las trazas de red veíamos la secuencia de peticiones habitual durante el &lt;I style="mso-bidi-font-style: normal"&gt;handshake&lt;/I&gt; NTLM, pero cuando el cliente hace la petición final autenticada (en el frame TCP 5004), en el siguiente frame TCP el cliente cierra la conexión TCP deliberadamente&amp;nbsp;([FIN, ACK]) y por tanto la respuesta del IIS nunca llega.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;No.&amp;nbsp; Time&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Source&amp;nbsp;&amp;nbsp; Dest.&amp;nbsp; &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Prot. Info&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;---- --------------- -------- -------- ----- --------------------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4503 16:09:05.973298 [CLIENT] [SERVER] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;timeflies &amp;gt; 8010 [SYN] Seq=0 Win=65535 Len=0 MSS&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4504 16:09:05.973298 [SERVER] [CLIENT] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;8010 &amp;gt; timeflies [SYN, ACK] Seq=0 Ack=1 Win=1638&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4505 16:09:05.973298 [CLIENT] [SERVER] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;timeflies &amp;gt; 8010 [ACK] Seq=1 Ack=1 Win=65535 Len&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4506 16:09:05.973298 [CLIENT] [SERVER] HTTP&amp;nbsp;&amp;nbsp;GET / HTTP/1.1 &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4507 16:09:05.983312 [SERVER] [CLIENT] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;[TCP segment of a reassembled PDU]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4508 16:09:05.983312 [SERVER] [CLIENT] HTTP&amp;nbsp;&amp;nbsp;HTTP/1.1 401 Unauthorized&amp;nbsp; (text/html)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4509 16:09:05.983312 [CLIENT] [SERVER] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;timeflies &amp;gt; 8010 [ACK] Seq=441 Ack=1910 Win=6553&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4995 16:09:18.230923 [CLIENT] [SERVER] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;timeflies &amp;gt; 8010 [FIN, ACK] Seq=441 Ack=1910 Win&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4996 16:09:18.230923 [CLIENT] [SERVER] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;ndm-requester &amp;gt; 8010 [SYN] Seq=0 Win=65535 Len=0&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4997 16:09:18.230923 [SERVER] [CLIENT] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;8010 &amp;gt; timeflies [ACK] Seq=1910 Ack=442 Win=6509&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4998 16:09:18.230923 [SERVER] [CLIENT] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;8010 &amp;gt; ndm-requester [SYN, ACK] Seq=0 Ack=1 Win=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;4999 16:09:18.230923 [CLIENT] [SERVER] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;ndm-requester &amp;gt; 8010 [ACK] Seq=1 Ack=1 Win=65535&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;5000 16:09:18.230923 [CLIENT] [SERVER] HTTP&amp;nbsp;&amp;nbsp;GET / HTTP/1.1 , NTLMSSP_NEGOTIATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;5001 16:09:18.240938 [SERVER] [CLIENT] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;[TCP segment of a reassembled PDU]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;5002 16:09:18.240938 [SERVER] [CLIENT] HTTP&amp;nbsp;&amp;nbsp;HTTP/1.1 401 Unauthorized , NTLMSSP_CHALLENGE (t&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;5003 16:09:18.240938 [CLIENT] [SERVER] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;ndm-requester &amp;gt; 8010 [ACK] Seq=519 Ack=2082 Win=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;5004 16:09:18.240938 [CLIENT] [SERVER] HTTP&amp;nbsp;&amp;nbsp;GET / HTTP/1.1 , NTLMSSP_AUTH, User: EMEA\daniem&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #e36c0a; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;5005 16:09:18.240938 [CLIENT] [SERVER] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;ndm-requester &amp;gt; 8010 &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;[FIN, ACK]&lt;/SPAN&gt; Seq=1221 Ack=208&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #e36c0a; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;5006 16:09:18.240938 [SERVER] [CLIENT] TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;8010 &amp;gt; ndm-requester [ACK] Seq=2082 Ack=1222 Win&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;…&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #595959; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;Las trazas de red explicaban el comportamiento, pero seguía sin saber porqué el cliente finalizaba la conexión TCP. Examinando más detenidamente el tráfico HTTP, descubrí que en las respuestas HTTP que devolvía IIS, se estaba incluyendo consistentemente&amp;nbsp;el encabezado "&lt;I style="mso-bidi-font-style: normal"&gt;Connection: close&lt;/I&gt;”:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-themecolor: dark2"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: red; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=3&gt;HTTP/1.1 401 Unauthorized\r\n&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #595959; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;Content-Length: 1539\r\n&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #595959; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;Content-Type: text/html\r\n&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #595959; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;Server: Microsoft-IIS/6.0\r\n&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #595959; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;[truncated] WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADgAAA…&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #595959; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;X-Powered-By: ASP.NET\r\n&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #595959; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;MicrosoftSharePointTeamServices: 12.0.0.6007\r\n&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #595959; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;Date: Wed, 24 Jun 2009 1&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;6&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #595959; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;:09:1&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US; mso-themecolor: dark2" lang=EN-US&gt;8&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #595959; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt; GMT\r\n&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US; mso-highlight: yellow" lang=EN-US&gt;Connection: close\r\n&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;Revisando de nuevo la configuración de IIS (en el fichero metabase.xml), pude confirmar que los &lt;I style="mso-bidi-font-style: normal"&gt;Keep-Alives&lt;/I&gt; estaban deshabilitados para todo el IIS:&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: #f2f2f2; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: #f2f2f2; COLOR: #a31515; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;IIsWebService&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: #f2f2f2; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: #f2f2f2; COLOR: red; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;Location&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: #f2f2f2; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; BACKGROUND: #f2f2f2; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-shading-themecolor: background1; mso-shading-themeshade: 242" lang=EN-US&gt;"&lt;SPAN style="COLOR: blue"&gt;/LM/W3SVC&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;AllowKeepAlive&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;FALSE&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;...&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Habilitándolo de nuevo el problema quedaba resuelto y la autenticación NTLM comenzó a funcionar correctamente. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/Errores401enIISalhabilitarlaautenticacin_F642/clip_image002_2.gif" mce_href="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/Errores401enIISalhabilitarlaautenticacin_F642/clip_image002_2.gif"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/Errores401enIISalhabilitarlaautenticacin_F642/clip_image002_thumb.gif" width=472 height=458 mce_src="http://blogs.msdn.com/blogfiles/daniem/WindowsLiveWriter/Errores401enIISalhabilitarlaautenticacin_F642/clip_image002_thumb.gif"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Nota: Esta dependencia de los HTTP Keep-Alives es específica de NTLM y no de la autenticación de Windows integrada&amp;nbsp;en general. La autenticación Kerberos puede funcionar al margen de que se habiliten los Keep-Alives o no. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Para más información, leer el siguiente artículo de TechNet:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;401.1 and 401.2-Authentication Problems (IIS 6.0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/8feeaa51-c634-4de3-bfdc-e922d195a45e.mspx?mfr=true"&gt;&lt;FONT face=Calibri&gt;http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/8feeaa51-c634-4de3-bfdc-e922d195a45e.mspx?mfr=true&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Espero que os haya sido de utilidad&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;- Daniel Mossberg&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9895919" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="IIS 7.0" scheme="http://blogs.msdn.com/b/daniem/archive/tags/IIS+7-0/" /><category term="IIS 6.0" scheme="http://blogs.msdn.com/b/daniem/archive/tags/IIS+6-0/" /></entry><entry><title>Cosas que deberías saber sobre los destructores en .NET</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/08/18/cosas-que-deberias-saber-sobre-los-destructores-en-net.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/08/18/cosas-que-deberias-saber-sobre-los-destructores-en-net.aspx</id><published>2009-08-18T19:00:00Z</published><updated>2009-08-18T19:00:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Este post es la continuación de &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2009/07/09/cosas-que-deberias-saber-sobre-el-garbage-collector-de-net.aspx" mce_href="http://blogs.msdn.com/daniem/archive/2009/07/09/cosas-que-deberias-saber-sobre-el-garbage-collector-de-net.aspx"&gt;&lt;FONT color=#0000ff&gt;Cosas que deberías saber sobre el Garbage Collector de .NET&lt;/FONT&gt;&lt;/A&gt;&lt;/I&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;¿Para qué necesitamos destructores en .NET? Como vimos en el anterior post, en .NET no tenemos que preocuparnos de destruir ni de liberar el espacio de los objetos dado que el GC se ocupa de esta tarea. No obstante, con mucha frecuencia nuestras aplicaciones mantienen referencias a objetos nativos (es decir, no .NET), como por ejemplo &lt;I style="mso-bidi-font-style: normal"&gt;handles &lt;/I&gt;a ficheros, conexiones a bases de datos, etc. El GC sólo entiende de objetos .NET, y por lo tanto queda en manos del desarrollador asegurarse de que su código limpia y destruye adecuadamente los recursos nativos de los que hace uso. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Para asegurarnos que nuestros objetos .NET limpian toda la memoria no manejada cuando su vida finalice, tenemos que hacer &lt;I style="mso-bidi-font-style: normal"&gt;dos&lt;/I&gt; cosas. &lt;I style="mso-bidi-font-style: normal"&gt;La primera&lt;/I&gt; es que nuestra clase implemente la interfaz &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.idisposable.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.idisposable.aspx"&gt;&lt;FONT color=#0000ff&gt;IDisposable&lt;/FONT&gt;&lt;/A&gt;&lt;/I&gt; y por tanto el método &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.idisposable.dispose.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.idisposable.dispose.aspx"&gt;&lt;FONT color=#0000ff&gt;Dispose()&lt;/FONT&gt;&lt;/A&gt;&lt;/I&gt;. Este método debe ocuparse de realizar las tareas de limpieza de recursos no manejados, y finalmente llamar al método &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.gc.suppressfinalize.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.gc.suppressfinalize.aspx"&gt;SuppressFinalize&lt;/A&gt;&lt;/I&gt;, enseguida veremos porqué. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 12pt"&gt;GC.SuppressFinalize(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt"&gt;this&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 12pt"&gt;);&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Para cierto tipo de objetos, el método &lt;I style="mso-bidi-font-style: normal"&gt;Dispose()&lt;/I&gt; se le llama con otro nombre por motivos puramente semánticos. Por ejemplo, la clase &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx"&gt;&lt;FONT color=#0000ff&gt;SqlConnection&lt;/FONT&gt;&lt;/A&gt;&lt;/I&gt; tiene un método &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx"&gt;&lt;FONT color=#0000ff&gt;Close()&lt;/FONT&gt;&lt;/A&gt;&lt;/I&gt; y un método &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.dispose.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.dispose.aspx"&gt;&lt;FONT color=#0000ff&gt;Dispose()&lt;/FONT&gt;&lt;/A&gt;&lt;/I&gt; que son funcionalmente equivalentes.&amp;nbsp;En el caso de conexiones a base de datos, para la mayoría de los desarrolladores resulta más intuitivo llamara a &lt;I style="mso-bidi-font-style: normal"&gt;Close()&lt;/I&gt; a la hora de cerrar la conexión y liberar los recursos asociados. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;En C# (si no me equivoco VB no tiene nada equivalente) existe la instrucción &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/yh598w02.aspx" mce_href="http://msdn.microsoft.com/en-us/library/yh598w02.aspx"&gt;&lt;FONT color=#0000ff&gt;using&lt;/FONT&gt;&lt;/A&gt;&lt;/I&gt; que nos permite establecer un contexto en el que se va a utilizar un objeto .NET. Al salir de dicho contexto (cuando llegamos a la llave de cierre ‘}’) se llamará automáticamente al método &lt;I style="mso-bidi-font-style: normal"&gt;Dispose()&lt;/I&gt; del objeto en cuestión. En el siguiente ejemplo, al salir del contexto llamaríamos al método &lt;I style="mso-bidi-font-style: normal"&gt;Dispose()&lt;/I&gt; del objeto &lt;I style="mso-bidi-font-style: normal"&gt;fs&lt;/I&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;string&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt; path = &lt;SPAN style="COLOR: #a31515"&gt;@"c:\temp\MyTest.txt"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt; (&lt;SPAN style="COLOR: #2b91af"&gt;FileStream&lt;/SPAN&gt; fs = &lt;SPAN style="COLOR: #2b91af"&gt;File&lt;/SPAN&gt;.Create(path)) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;byte&lt;/SPAN&gt;[] info = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;UTF8Encoding&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;).GetBytes(&lt;SPAN style="COLOR: #a31515"&gt;"This is some text"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;fs.Write(info, 0, info.Length);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-bidi-font-size: 10.0pt; mso-no-proof: yes"&gt;}&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 16pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;El problema de la interfaz &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.idisposable.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.idisposable.aspx"&gt;&lt;FONT color=#0000ff&gt;IDisposable&lt;/FONT&gt;&lt;/A&gt;&lt;/I&gt; es que dependemos de que los desarrolladores que consuman nuestras clases se acuerden de llamar a los métodos Dispose() o Close(), porque de lo contrario todo el esfuerzo habrá sido inútil. En previsión de que a los desarrolladores a veces se les pueda olvidar deshacerse correctamente de sus objetos, existen los destructores (en C#) o método &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.object.finalize.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.object.finalize.aspx"&gt;Finalize()&lt;/A&gt;&lt;/I&gt; (en VB). En adelante me referiré a ambos cómo &lt;I style="mso-bidi-font-style: normal"&gt;método Finalize()&lt;/I&gt;, pero son equivalentes y simplemente tienen nombres distintos por motivos lingüísticos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Por lo tanto, &lt;I style="mso-bidi-font-style: normal"&gt;la segunda&lt;/I&gt; de las cosas que debemos hacer es precisamente implementar un método &lt;I style="mso-bidi-font-style: normal"&gt;Finalize()&lt;/I&gt;. El método &lt;I style="mso-bidi-font-style: normal"&gt;Finalize()&lt;/I&gt; es un mecanismo que nos proporciona .NET para ejecutar código de finalización de un objeto de forma automática, antes de que el GC libere su memoria. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Uno de los principios básicos de .NET es que el código del método &lt;I style="mso-bidi-font-style: normal"&gt;Finalize()&lt;/I&gt; de una clase debe ser muy rápido, nunca puede lanzar una excepción ni tampoco bloquear la ejecución. Los métodos &lt;I style="mso-bidi-font-style: normal"&gt;Finalize()&lt;/I&gt; de todos los objetos de un proceso&lt;I style="mso-bidi-font-style: normal"&gt; &lt;/I&gt;se ejecutan en un mismo thread conocido como &lt;I style="mso-bidi-font-style: normal"&gt;Finalizer&lt;/I&gt;. Cuando el GC determina que los objetos están listos para ser finalizados los mete en una cola y dicho thread ejecuta los métodos &lt;I style="mso-bidi-font-style: normal"&gt;Finalize()&lt;/I&gt; de cada objeto secuencialmente. Hasta que no termina la ejecución del&amp;nbsp;método &lt;EM&gt;Finalize()&lt;/EM&gt; de un objeto, no comienza con el siguiente. Por lo tanto si se produce un bloqueo durante la finalización de alguno de los objetos, todo lo que venga detrás nunca será finalizado con todas las consecuencias que ello conlleva. Adicionalmente, en ASP.NET, este thread es el único que no tiene un manejador de excepciones predeterminado, por lo que cualquier excepción en este thread provocaría la finalización inmediata del proceso (también conocido como crash). &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;Para maximizar el rendimiento de nuestras aplicaciones .NET, debemos procurar que la menor cantidad posible de objetos sean finalizados por el GC. En el mejor de los casos, el método &lt;I style="mso-bidi-font-style: normal"&gt;Finalize()&lt;/I&gt; no sería llamado nunca, sino que todos los objetos serían finalizados mediante la interfaz &lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.idisposable.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.idisposable.aspx"&gt;&lt;FONT color=#0000ff&gt;IDisposable&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;. Para que os hagáis una idea de la penalización para el rendimiento que supone que un objeto sea finalizado por el GC, observad las diferencias en la tabla a continuación: &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" class=MsoTableGrid border=1 cellSpacing=0 cellPadding=0 class="MsoTableGrid"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 98.85pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" vAlign=top width=132&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #f2f2f2; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Finalización mediante Dispose()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #f2f2f2; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Finalización mediante Finalize()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 98.85pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #f2f2f2; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" rowSpan=2 width=132&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Vida útil del objeto&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 552.8pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" width=737 colSpan=2&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;Al crearse un nuevo objeto .NET, el CLR comprueba si este tiene un método Finalize(). Si es así, añade una referencia a dicho objeto en una estructura manejada por el GC llamada la &lt;I style="mso-bidi-font-style: normal"&gt;cola de Finalización&lt;/I&gt;. Esta cola contiene todos los objetos que hay que finalizar, antes de que el GC libere su memoria.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;Cuando finaliza la vida útil del objeto, desde el código de la aplicación se llama su método Dispose(). En este método se realizan &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt"&gt;las tareas de limpieza de recursos no manejados, y finalmente se llama al método &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.gc.suppressfinalize.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.gc.suppressfinalize.aspx"&gt;SuppressFinalize&lt;/A&gt;&lt;/I&gt; lo cuál elimina el objeto de la cola de &lt;I style="mso-bidi-font-style: normal"&gt;Finalización&lt;/I&gt;. &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=Calibri&gt;Cuando finaliza la vida útil del objeto, desde el código de la aplicación &lt;U&gt;no&lt;/U&gt; se llama su método Dispose().&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 98.85pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #f2f2f2; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" rowSpan=3 width=132&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Primera colección del GC&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 552.8pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" width=737 colSpan=2&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;Cuando se desencadena una colección de basura, el GC recorre la memoria y determina qué objetos ya no están en uso y pueden ser colectados. Adicionalmente comprueba si estos objetos están referenciados en la cola de &lt;I style="mso-bidi-font-style: normal"&gt;Finalización&lt;/I&gt;.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" rowSpan=2 width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=Calibri&gt;Si el objeto no necesita ser finalizado, su memoria es liberada.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;Los objetos que se encuentran en la cola de &lt;I style="mso-bidi-font-style: normal"&gt;Finalización&lt;/I&gt; son eliminados de esta y movidos a una nueva cola llamada &lt;I style="mso-bidi-font-style: normal"&gt;Freachable&lt;/I&gt;. La cola &lt;I style="mso-bidi-font-style: normal"&gt;Freachable&lt;/I&gt; contiene los objetos que están listos para que su método &lt;I style="mso-bidi-font-style: normal"&gt;Finalize()&lt;/I&gt; sea llamado. Es decir, son basura pero todavía no han sido finalizados. Esta cola actúa como un objeto raíz e impide que los objetos a los que referencia sean colectados.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;El objeto sobrevive la colección de basura y promociona a la siguiente generación (a no ser que ya estuviera en la generación 2).&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 6"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 98.85pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #f2f2f2; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" width=132&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Tiempo transcurrido entre colecciones&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; BACKGROUND: white; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-background-themecolor: background1; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" rowSpan=3 width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;El thread del &lt;I style="mso-bidi-font-style: normal"&gt;Finalizer&lt;/I&gt; comienza a llamar a los métodos &lt;I style="mso-bidi-font-style: normal"&gt;Finalize()&lt;/I&gt; de todos los objetos que se encuentran en la cola &lt;I style="mso-bidi-font-style: normal"&gt;Freachable&lt;/I&gt;. Una vez ha finalizado la llamada al método &lt;I style="mso-bidi-font-style: normal"&gt;Finalize()&lt;/I&gt;, los objetos son eliminados de esta cola. Cuando la cola &lt;I style="mso-bidi-font-style: normal"&gt;Freachable&lt;/I&gt; se vacía, el thread del &lt;I style="mso-bidi-font-style: normal"&gt;Finalizer&lt;/I&gt; pasa en un estado de espera. &lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 28.15pt; mso-yfti-irow: 7"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 98.85pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #f2f2f2; HEIGHT: 28.15pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" rowSpan=2 width=132&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Segunda colección del GC&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 28.15pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Cuando se desencadena una colección de basura, el GC recorre la memoria y determina qué objetos ya no están en uso y pueden ser colectados. Adicionalmente comprueba si estos objetos están referenciados en la cola de &lt;I style="mso-bidi-font-style: normal"&gt;Finalización&lt;/I&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 28.1pt; mso-yfti-irow: 8; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 276.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 28.1pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" width=369&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Dado que el objeto ya no se encuentra referenciado ni por la cola de &lt;I style="mso-bidi-font-style: normal"&gt;Finalización&lt;/I&gt; ni por la cola &lt;I style="mso-bidi-font-style: normal"&gt;Freachable&lt;/I&gt;, su memoria es liberada.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;En definitiva, necesitamos implementar un destructor para nuestras clases, pero debemos procurar que dicho destructor no sea utilizado nunca. Espero que os haya convencido. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;- Hasta el próximo post,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Daniel Mossberg&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9873025" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Common Language Runtime (CLR)" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Common+Language+Runtime+_2800_CLR_2900_/" /></entry><entry><title>Cosas que deberías saber sobre el Garbage Collector de .NET</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/07/09/cosas-que-deberias-saber-sobre-el-garbage-collector-de-net.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/07/09/cosas-que-deberias-saber-sobre-el-garbage-collector-de-net.aspx</id><published>2009-07-09T15:50:00Z</published><updated>2009-07-09T15:50:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;La mayoría de los desarrolladores de .NET&amp;nbsp;tenemos algunas nociones básicas sobre que es el &lt;I style="mso-bidi-font-style: normal"&gt;Garbage Collector&lt;/I&gt; (en adelante GC) y para qué sirve. No obstante, con frecuencia pasamos por alto algunos detalles de su funcionamiento interno que provocan que nuestro código no sea todo lo eficiente y escalable que debería.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;El objetivo del GC es proporcionar una capa de abstracción para los desarrolladores en cuestiones de manejo de memoria.&amp;nbsp;Esto introduce una gran ventaja sobre otros lenguajes de programación en los que el desarrollador se tiene ocupar por completo de esta tarea.&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Escribir código que maneje correctamente su memoria en todas las situaciones no es ni mucho menos trivial, y las posibilidades de introducir bugs en la aplicación son múltiples: corrupción del heap, corrupción del stack, pérdida de memoria, fragmentación de memoria etc. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Si bien el GC simplifica la tarea de manejo de memoria para los desarrolladores, no les exime por completo. Para hacer buen uso de la memoria en .NET es importante conocer como la maneja el GC internamente. Vayamos por partes. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;El GC de .NET es un colector de basura generacional. Esto significa que clasifica los objetos en distintas generaciones, lo cual le permite realizar colecciones de basura parciales (de una o varias generaciones) y así evitar hacer siempre colecciones de basura completas de todo el heap de .NET. Esta característica es una de las más importantes en cuanto al rendimiento del GC, y permiten que el GC de .NET sea escalable para aplicaciones de alta concurrencia como por ejemplo aplicaciones ASP.NET. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;En el GC de .NET tiene tres generaciones (0, 1 y 2), y todos los objetos se crean en la generación 0 siempre y cuando no superen el tamaño de 85.000 bytes (enseguida veremos qué pasa con estos objetos). Las colecciones de basura se desencadenan cuando se intenta reservar memoria para un nuevo objeto y se sobrepasa el límite de memoria designado a la generación en cuestión. Los límites de memoria asignados a cada generación se modifican dinámicamente durante la vida del proceso para adaptarse a los patrones de reserva de memoria de la aplicación. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Cuando el GC realiza una colección de basura, revisa todos los objetos de la generación o generaciones afectadas, y comprueba si estan referenciados. Para que un objeto se consideré referenciado, tiene que estar referenciado por un objeto raíz. Los objetos raíz son (simplificando un poco):&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Threads&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt; – Todos los objetos referenciados en la pila: variables locales, parámetros, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Strong Reference&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt; – Objetos estáticos, objetos de caché y&amp;nbsp;variables globales. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Weak Reference&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt; – Aunque los objetos &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.weakreference.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.weakreference.aspx"&gt;WeakReference&lt;/A&gt;&lt;/I&gt; no evitan que sus objetos referenciados sean “colectados”, se consideran objetos raíz. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Pinned Objects &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;– Los objetos marcados como &lt;I style="mso-bidi-font-style: normal"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.gchandle.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.gchandle.aspx"&gt;Pinned&lt;/A&gt;&lt;/I&gt; no pueden ser “colectados” ni movidos por el GC, y por tanto los objetos a los que estos referencian tampoco pueden ser colectados. Esta técnica se suele utilizar para pasar un objeto .NET como referencia a una API nativa (no .NET), de forma que la dirección de memoria del objeto .NET no cambie hasta que no finalice la llamada a la API. Los objetos deben permanecer &lt;I style="mso-bidi-font-style: normal"&gt;Pinned&lt;/I&gt; lo mínimo indispensable dado que pueden causar fragmentación del heap de .NET. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Objetos que implementan destructor o Finalize()&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt; – &lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Esta categoría la trato en un post separado: &lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN; mso-bidi-font-size: 11.0pt" lang=EN&gt;&lt;A href="http://blogs.msdn.com/daniem/archive/2009/08/18/cosas-que-deberias-saber-sobre-los-destructores-en-net.aspx"&gt;Cosas que deberías saber sobre los destructores en .NET&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Los objetos que no están referenciados serán eliminados por el GC&amp;nbsp;y su espacio en memoria será&amp;nbsp;liberado, y los objetos supervivientes a la colección serán promocionados a la siguiente generación con la excepción de los objetos en la generación 2 que ya no pueden promocionar más. Por último, los "huecos" de&amp;nbsp;espacio libre de los objetos eliminados es consolidado de forma que los objetos supervivientes son reubicados en direcciones de memoria contiguas. Una aplicación con una ratio de colecciones saludable, suele tener&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt; 10 veces más colecciones de la generación 0 que de la generación 1, y 10 veces más colecciones de la generación 1 que de la generación 2, es decir un ratio de 100:10:1 para GEN 0:GEN 1:GEN 2.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;El colector de basura generacional&amp;nbsp;es indispensable para alcanzar el nivel de rendimiento necesario en una aplicación de alta concurrencia, y se basa en la siguiente regla heurística: &lt;I style="mso-bidi-font-style: normal"&gt;los objetos que han existido mucho tiempo, van a seguir existiendo durante mucho tiempo más&lt;/I&gt;. Es decir que si un objeto ha sobrevivido a dos colecciones y ha promocionado hasta la generación 2, lo más probable es que vaya a seguir sobreviviendo a colecciones venideras. Por lo tanto no tiene sentido colectar basura con la misma frecuencia en la generación 2 que en la 0. Tras haber realizado miles de pruebas de carga con distintos tipos de aplicaciones, esta presunción ha resultado ser cierta (casi siempre). &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Cómo hacía referencia antes, los objetos cuyo tamaño es superior a los 85.000 bytes reciben un trato distinto. Estos objetos se crean en el &lt;I style="mso-bidi-font-style: normal"&gt;Large Object Heap &lt;/I&gt;(en adelante LOH), también conocido a veces como generación 3. ¿Porqué necesitamos una generación o un heap especial para objetos grandes? Básicamente por dos motivos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;1)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Se asume que los objetos grandes generalmente tienen una vida larga (misma regla heurística que para la generación 2).&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l1 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;2)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Los objetos grandes son “caros” de mover y por este motivo el espacio libre en el LOH no se consolida y por tanto favorece la fragmentación de memoria. Por esto los objetos grandes se crean en un heap específico. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Cuando se desencadena una colección en la generación 2 o en el LOH, se realiza una colección completa (es decir de las generaciones 0, 1, 2 y LOH). Las colecciones de basura completas son costosas, sobre todo en cuanto a consumo de CPU, dado que potencialmente hay muchos objetos que revisar y mover una vez se ha liberado el espacio. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Dicho esto, ¿qué consideraciones debemos tener en cuanto al uso de memoria cuando desarrollamos aplicaciones .NET? Estas son algunas, pero no dudéis en aportar vuestros propios comentarios:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Cuidado con los objetos alojados en el&amp;nbsp;LOH. Siempre que&amp;nbsp;tenga sentido,&amp;nbsp;es deseable&amp;nbsp;reutilizarlos y mantenerlos referenciados durante toda la vida del proceso. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Cuidado con la concatenación de cadenas (&lt;I style="mso-bidi-font-style: normal"&gt;String&lt;/I&gt;) en un bucle, por ejemplo generando dinámicamente un XML o un fragmento de HTML. Estas prácticas, si no se implementan correctamente, suelen terminar en objetos &lt;I style="mso-bidi-font-style: normal"&gt;String&lt;/I&gt; de gran tamaño en el LOH que provocan constantes colecciones de basura completas y el correspondiente consumo de 100% CPU. Utilizad la clase &lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.text.stringbuilder.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/system.text.stringbuilder.aspx"&gt;StringBuilder&lt;/A&gt;&lt;/EM&gt; para esto. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo3" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Cuidado con los objetos que cacheamos, y las referencias a otros objetos que estos pueden mantener. Cachear objetos indirectamente de forma&amp;nbsp;“involuntaria”&amp;nbsp;es la forma más frecuente de provocar un&amp;nbsp;&lt;I style="mso-bidi-font-style: normal"&gt;memory leak&lt;/I&gt; en aplicaciones .NET. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Si queréis seguir profundizando en el funcionamiento del GC, os recomiendo los siguientes recursos:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt" lang=EN-US&gt;&lt;FONT face=Calibri&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;A href="http://msdn.microsoft.com/en-us/magazine/bb985010.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/bb985010.aspx&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Garbage Collection Part&amp;nbsp;2: Automatic Memory Management in the Microsoft .NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;A href="http://msdn.microsoft.com/en-us/magazine/bb985011.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/bb985011.aspx&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Garbage Collector Basics and Performance Hints&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms973837.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms973837.aspx&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Maoni's WebLog - CLR Garbage Collector&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;A href="http://blogs.msdn.com/maoni/"&gt;http://blogs.msdn.com/maoni/&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Hasta la próxima, &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;- Daniel Mossberg&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9826617" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Common Language Runtime (CLR)" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Common+Language+Runtime+_2800_CLR_2900_/" /></entry><entry><title>¿Son normales los errores HTTP 401.1 y 401.2 que veo en mis logs de IIS?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/07/02/son-normales-los-errores-http-401.1-y-401.2-que-veo-en-mis-logs-de-iis.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/07/02/son-normales-los-errores-http-401.1-y-401.2-que-veo-en-mis-logs-de-iis.aspx</id><published>2009-07-02T12:06:00Z</published><updated>2009-07-02T12:06:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Si alguna vez os habéis molestado en analizar unos logs de IIS, quizá os hayais encontrado con el escenario en el que cuando tenemos habilitada la autenticación de Windows integrada, cada petición que hacemos realmente necesita tres peticiones para llevarse a cabo. Este es el patrón típico de la autenticación NTLM. La primera petición falla dando un error HTTP 401.2, la segunda falla también pero con un error 401.1, y la tercera es la definitiva devolviendo un resultado HTTP 200 - OK. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Os explico el porqué de esta secuencia:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 0cm 0cm 0cm" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 66.3pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" vAlign=top width=88&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;SECUENCIA&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 167.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" vAlign=top width=223&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;PETICIÓN&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 184.3pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" vAlign=top width=246&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;RESPUESTA&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 99.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" vAlign=top width=132&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;RESULTADO HTTP&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 74.7pt; mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 66.3pt; PADDING-RIGHT: 5.4pt; HEIGHT: 74.7pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=88&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-SIZE: 48pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 167.2pt; PADDING-RIGHT: 5.4pt; HEIGHT: 74.7pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=223&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;FONT face=Calibri&gt;El cliente (por ejemplo Internet Explorer) hace una petición GET (o POST) a un servidor IIS. Esta primera petición es anónima, puesto que a priori el cliente no tiene porqué saber nada sobre este servidor: no sabe si el servidor requiere algún tipo de autenticación, no sabe qué tipos de autenticación acepta el servidor, etc.&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 184.3pt; PADDING-RIGHT: 5.4pt; HEIGHT: 74.7pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=246&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;Supongamos que el servidor sólo tiene habilitada la autenticación de Windows integrada. Puesto que la petición que ha llegado es anónima, el servidor responde con un error HTTP 401.2 (Logon Failed due to server configuration) y le especifica al cliente los métodos de autenticación que acepta. Para este ejemplo supongamos que acepta &lt;B style="mso-bidi-font-weight: normal"&gt;Negotiate&lt;/B&gt; y &lt;B style="mso-bidi-font-weight: normal"&gt;NTLM&lt;/B&gt;.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 99.2pt; PADDING-RIGHT: 5.4pt; HEIGHT: 74.7pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=132&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-SIZE: 28pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 16.0pt"&gt;&lt;FONT face=Calibri&gt;401.2&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;[Logon Failed due to server configuration]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 16pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 66.3pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=88&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 48pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;2&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 167.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=223&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;FONT face=Calibri&gt;El cliente &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;elige autenticarse mediante NTLM (el motivo de esta elección es irrelevante para el ejemplo) y le pasa un encabezado HTTP al servidor indicando que se va a autenticar por NTLM. En este encabezado indica también la cuenta de usuario con la que se va a autenticar (pero no la contraseña).&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 184.3pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=246&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;Para que el servidor compruebe que el cliente es quién dice ser, necesita comprobar que conoce la contraseña sin pedírsela. Para ello genera un número aleatorio de 16-byte, conocido como el “challenge” (o reto) y se lo envía al cliente. En esta segunda petición, el servidor vuelve a responder con un error HTTP 401.1 (Logon Failed) puesto que el cliente todavía no está autenticado.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 99.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=132&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-SIZE: 28pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 16.0pt"&gt;&lt;FONT face=Calibri&gt;401.1&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;[Logon Failed]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 16pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 66.3pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=88&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 48pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;3&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 167.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=223&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;FONT face=Calibri&gt;El cliente cifra el “challenge” con un hash de la contraseña y genera lo que llamamos el “response”. De esta manera, demuestra que conoce dicha contraseña sin que la contraseña en ningún momento se intercambie por la red. Vuelve a enviar la misma petición GET por tercera (y última) vez y con el “response”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 184.3pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=246&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;El servidor (que tampoco conoce la contraseña del cliente) envía los siguientes datos al controlador de dominio:&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 10pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-size: 9.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;FONT face=Calibri&gt;Nombre de usuario (del cliente)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 10pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-size: 9.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;FONT face=Calibri&gt;El “challenge” enviado al cliente&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 18pt; mso-list: l0 level1 lfo1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Symbol; FONT-SIZE: 10pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-size: 9.0pt"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;FONT face=Calibri&gt;El “response” generado por el cliente&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 9.0pt"&gt;&lt;FONT face=Calibri&gt;El controlador de dominio que sí conoce la contraseña del cliente, cifra el “challenge” con un hash de la contraseña del usuario igual que hizo IE y compara el resultado con el “response” que ha generado IE. Si todo es correcto, por fin se autentica al usuario y se le envía la respuesta definitiva (HTTP 200 –OK).&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 99.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm" width=132&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-SIZE: 28pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 16.0pt"&gt;&lt;FONT face=Calibri&gt;200&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US; mso-bidi-font-size: 16.0pt" lang=EN-US&gt;&lt;BR&gt;&lt;FONT face=Calibri&gt;[OK]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 16pt; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt" lang=EN-US&gt;&lt;o:p&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Una vez hemos visto el motivo de este intercambio de peticiones y respuestas HTTP, más de uno se pregunta ¿esto no genera un excesivo tráfico de red? Las respuesta es que depende. Evidentemente, el protocolo de autenticación NTLM genera más tráfico de red que un sitio web configurado con autenticación anónima, pero el tráfico adicional normalmente no supone un problema. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Por un lado, todos los clientes HTTP que soportan autenticación NTLM implementan una optimización, que implica que en la segunda petición del &lt;I style="mso-bidi-font-style: normal"&gt;handshake&lt;/I&gt; NTLM únicamente se incluyen los encabezados HTTP (y por lo tanto se excluye el &lt;I style="mso-bidi-font-style: normal"&gt;HTTP entity-body&lt;/I&gt;, es decir los datos asociados a la petición en caso de que los haya). Os pongo un ejemplo, si la petición en cuestión es un POST de un fichero de 100MB, el primer POST anónimo (junto con los 100MB de fichero adjunto) va a fallar con un error 401.1. Cuando el cliente decide autenticarse por NTLM, hace un segundo POST pero esta vez sin &lt;I style="mso-bidi-font-style: normal"&gt;entity-body&lt;/I&gt; (es decir, sin los 100MB de fichero adjunto) dado que ya sabe que esta petición también va a fallar inevitablemente con un error 401.1. En la última petición, de nuevo volvemos a incluir el &lt;I style="mso-bidi-font-style: normal"&gt;entity-body&lt;/I&gt;, que será la petición definitiva y cuando finalmente logremos subir el fichero al servidor HTTP. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Adicionalmente, Internet Explorer (en adelante IE) incluye una característica conocida como pre-autenticación NTLM que evita realizar la primera petición anónima una vez determina que un servidor en concreto acepta autenticación NTLM. La pre-autenticación NTLM directamente envía el encabezado HTTP de autenticación por NTLM (paso 2 de la secuencia) indicando al servidor el nombre de usuario para que este genere el “challenge”. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;Esta optimización puede dar problemas si una vez&amp;nbsp;iniciado este comportamiento de IE, vamos a parar a un directorio virtual en el mismo sitio web&amp;nbsp;que no admite autenticación NTLM (sino que&amp;nbsp;únicamente utiliza autenticación anónima).&lt;/SPAN&gt; &lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;En este caso, IE va a hacer una petición enviando&amp;nbsp;los encabezados HTTP&amp;nbsp;(especificando autenticación por NTLM) esperando un 401.1 por parte del servidor. Puesto que IE “cree” que la petición definitiva va a ser la siguiente, elige no mandar los datos del &lt;I style="mso-bidi-font-style: normal"&gt;entity-body&lt;/I&gt; para ahorrar ancho de banda. Puesto que el servidor no acepta autenticación NTLM pero si acepta autenticación anónima, ignora el encabezado HTTP de autenticación y responde con un HTTP 200 definitivo. Esto provoca que, por ejemplo, los datos del formulario HTML (o el fichero de 100MB del ejemplo anterior) nunca se lleguen a enviar con el POST. El siguiente artículo habla precisamente de este problema:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt" lang=EN-US&gt;&lt;FONT face=Calibri&gt;You cannot post data to a non-NTLM-authenticated Web site&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;A href="http://support.microsoft.com/kb/251404/en-us" mce_href="http://support.microsoft.com/kb/251404/en-us"&gt;&lt;FONT face=Calibri&gt;http://support.microsoft.com/kb/251404/en-us&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Si tenemos una aplicación ASP.NET que realiza llamadas a un &lt;I style="mso-bidi-font-style: normal"&gt;web service&lt;/I&gt;, se autentica por NTLM y queremos evitar la primera petición anónima, podemos implementar la pre-autenticación NTLM de la siguiente manera:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: teal; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;MyWebService&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt; proxy = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;MyWebService&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;proxy.Credentials = &lt;SPAN style="COLOR: teal"&gt;CredentialCache&lt;/SPAN&gt;.DefaultNetworkCredentials;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt; BACKGROUND: #f2f2f2; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;proxy.PreAuthenticate = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-no-proof: yes" lang=EN-US&gt;proxy.HelloWorld();&lt;SPAN style="COLOR: teal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Por último, si queremos reducir aún más el ancho de banda causado por la autenticación NTLM, podemos reducir los &lt;I style="mso-bidi-font-style: normal"&gt;Custom Errrors&lt;/I&gt; que devuelve IIS para los errores HTTP 401.1 y 401.2.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Happy hacking.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;- Daniel Mossberg&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9813888" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="IIS 7.0" scheme="http://blogs.msdn.com/b/daniem/archive/tags/IIS+7-0/" /><category term="ASP.NET" scheme="http://blogs.msdn.com/b/daniem/archive/tags/ASP-NET/" /><category term="IIS 6.0" scheme="http://blogs.msdn.com/b/daniem/archive/tags/IIS+6-0/" /></entry><entry><title>Cómo hacer más seguro un servidor IIS 6.0</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/05/18/como-hacer-mas-seguro-un-servidor-iis6.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/05/18/como-hacer-mas-seguro-un-servidor-iis6.aspx</id><published>2009-05-18T17:30:00Z</published><updated>2009-05-18T17:30:00Z</updated><content type="html">Cuando Microsoft sacó Windows Server 2003 con IIS 6.0 se dio un gran paso adelante en cuanto al paradigma secure by default. A diferencia de anteriores versiones, IIS 6.0 se instalaba con muchas de sus funcionalidades deshabilitadas por defecto (p. ej. extensiones ISAPI y componentes CGI), de forma que cada administrador debía habilitar explícitamente las funcionalidades que realmente fuera a utilizar. En una instalación por defecto de IIS 6.0 sólo se sirve contenido estático. 
 
 Con Windows Server...(&lt;a href="http://blogs.msdn.com/b/daniem/archive/2009/05/18/como-hacer-mas-seguro-un-servidor-iis6.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9625335" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Seguridad" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Seguridad/" /><category term="IIS 6.0" scheme="http://blogs.msdn.com/b/daniem/archive/tags/IIS+6-0/" /></entry><entry><title>¿Con qué credenciales se ejecuta mi aplicación web?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/daniem/archive/2009/05/05/con-que-credenciales-se-ejecuta-mi-aplicacion-web.aspx" /><id>http://blogs.msdn.com/b/daniem/archive/2009/05/05/con-que-credenciales-se-ejecuta-mi-aplicacion-web.aspx</id><published>2009-05-05T19:11:00Z</published><updated>2009-05-05T19:11:00Z</updated><content type="html">Existen diversos escenarios en los que nos es útil saber qué método de autenticación está utilizando nuestra aplicación web y con qué credenciales se está ejecutando nuestro código . Para poder determinarlo de forma rápida he desarrollado una página ASP.NET que hace estas comprobaciones y muestra el resultado en pantalla. 
 
 Este es el código de la página ASPX: 
 
 &amp;lt;% @ Page Language ="C#" Debug ="true" %&amp;gt; 
 
 &amp;lt;% @ Import Namespace ="System.Threading" %&amp;gt; 
 &amp;lt;% @ Import Namespace...(&lt;a href="http://blogs.msdn.com/b/daniem/archive/2009/05/05/con-que-credenciales-se-ejecuta-mi-aplicacion-web.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9589134" width="1" height="1"&gt;</content><author><name>Daniel Mossberg</name><uri>http://blogs.msdn.com/daniem/ProfileUrlRedirect.ashx</uri></author><category term="Kerberos" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Kerberos/" /><category term="ASP.NET" scheme="http://blogs.msdn.com/b/daniem/archive/tags/ASP-NET/" /><category term="Ejemplos de C&amp;#243;digo" scheme="http://blogs.msdn.com/b/daniem/archive/tags/Ejemplos+de+C_26002300_243_3B00_digo/" /></entry></feed>