title: Classic ASP error with XMLHTTP request
body: <p>I'm running Classic ASP along with ASP.net 4.0 on IIS 7.5.</p>
  
  <p>In my classic ASP code is this code:</p>
  
  <pre class="lang-vbs prettyprint-override"><code>' Process @ alerts
  Dim objHttp
  set objHttp = Server.CreateObject("Microsoft.XMLHTTP")
  
  objHttp.open "POST", strSiteRoot &amp; "handlers/forumalerts.ashx?", false
  objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
  objHttp.Send "topicID=" &amp; lngTopicID &amp; "&amp;threadID=" &amp; lngLastPostID
  
  set objHttp = nothing
  </code></pre>
  
  <p>This is sending a request to an ASP.net ASHX handler.  When it is run, it hangs for a long time before finally sending the error message:</p>
  
  <blockquote>
    <p>msxml3.dll error '800c0008'</p>
    
    <p>The download of the specified resource has failed.</p>
    
    <p>/forum/new_post.asp, line 1036</p>
  </blockquote>
  
  <p>I've checked the URL it's posting to and it exists and is functioning.  The data being sent is also correct.</p>
  
  <p>Before I fresh installed Windows 7 it was working fine.  Since reinstalling it fresh, and setting up IIS again this bit of code fails, leading me to beleive it is a permissions/identity error.</p>
  
  <p>Can anyone tell me what could be causing this?  I have 3 app pools:</p>
  
  <pre><code>ASP.net v4.0 (Integrated) (ApplicationPoolIdentity)
  ASP.net v4.0 Classic (Classic) (ApplicationPoolIdentity)
  DefaultAppPool (Integrated) (NetworkService)
  </code></pre>
  
  <p>Thanks for any help!</p>
  
  <p>Edit:  I found this error in the logs:</p>
  
  <pre><code>Event code: 3005 
  Event message: An unhandled exception has occurred. 
  Event time: 02/11/2011 14:55:42 
  Event time (UTC): 02/11/2011 14:55:42 
  Event ID: 4e550d910b934d2781707701f833e18e 
  Event sequence: 39 
  Event occurrence: 1 
  Event detail code: 0 
  
  Application information: 
      Application domain: /LM/W3SVC/1/ROOT-2-129647191892089824 
      Trust level: Full 
      Application Virtual Path: / 
      Application Path: C:\inetpub\wwwroot\ScirraNew\ 
      Machine name: TOM-PC 
  
  Process information: 
      Process ID: 7980 
      Process name: w3wp.exe 
      Account name: NT AUTHORITY\NETWORK SERVICE 
  
  Exception information: 
      Exception type: ArgumentNullException 
      Exception message: Value cannot be null.
  Parameter name: String
     at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer&amp; number, NumberFormatInfo info, Boolean parseDecimal)
     at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
     at System.Int32.Parse(String s)
     at forumalerts.ProcessRequest(HttpContext context) in c:\inetpub\wwwroot\ScirraNew\Handlers\forumalerts.ashx:line 13
     at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
     at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)
  
  
  
  Request information: 
      Request URL: http://127.0.0.1/handlers/forumalerts.ashx 
      Request path: /handlers/forumalerts.ashx 
      User host address: 127.0.0.1 
      User:  
      Is authenticated: False 
      Authentication Type:  
      Thread account name: NT AUTHORITY\NETWORK SERVICE 
  
  Thread information: 
      Thread ID: 39 
      Thread account name: NT AUTHORITY\NETWORK SERVICE 
      Is impersonating: True 
      Stack trace:    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer&amp; number, NumberFormatInfo info, Boolean parseDecimal)
     at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
     at System.Int32.Parse(String s)
     at forumalerts.ProcessRequest(HttpContext context) in c:\inetpub\wwwroot\ScirraNew\Handlers\forumalerts.ashx:line 13
     at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
     at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)
  
  
  Custom event details: 
  </code></pre>
  
  <p>Line 13 is the first request.form:</p>
  
  <pre><code>int TopicID = int.Parse(context.Request.Form["topicID"]);
  </code></pre>