Estoy ejecutando ASP clásico junto con ASP.net 4.0 en IIS 7.5.Error clásico de ASP con la solicitud XMLHTTP
En mi código ASP clásico es este código:
' Process @ alerts
Dim objHttp
set objHttp = Server.CreateObject("Microsoft.XMLHTTP")
objHttp.open "POST", strSiteRoot & "handlers/forumalerts.ashx?", false
objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHttp.Send "topicID=" & lngTopicID & "&threadID=" & lngLastPostID
set objHttp = nothing
Este es el envío de una petición a un controlador de ASP.net ASHX. Cuando es ejecutado, se cuelga por un largo tiempo antes de enviar finalmente el mensaje de error:
error msxml3.dll '800c0008'
La descarga del recurso especificado ha fallado.
/forum/new_post.asp, línea 1036
he comprobado la URL que está a publicar y que existe y está funcionando. Los datos que se envían también son correctos.
Antes de instalar Windows 7 estaba funcionando bien. Desde que lo volví a instalar, y configurando IIS nuevamente, este bit de código falla, lo que me lleva a creer que se trata de un error de permisos/identidad.
¿Alguien puede decirme qué podría estar causando esto? Tengo 3 grupos de aplicaciones:
ASP.net v4.0 (Integrated) (ApplicationPoolIdentity)
ASP.net v4.0 Classic (Classic) (ApplicationPoolIdentity)
DefaultAppPool (Integrated) (NetworkService)
¡Gracias por la ayuda!
Editar: Encontré este error en los registros:
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& 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& 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& 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& completedSynchronously)
Custom event details:
la línea 13 es la primera request.form:
int TopicID = int.Parse(context.Request.Form["topicID"]);
¿Qué sucede cuando envía la solicitud desde el lado del cliente, p. usando jQuery? Además, ¿qué sucede cuando envía la solicitud GET en lugar de la solicitud POST? –