2011-04-13 18 views
7

estoy viendo algunas entradas de la siguiente excepción en los registros de mi y no saben por qué o donde su ocurren:Error al ejecutar la URL: ¿alguna idea?

Failed to Execute URL. 
    at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.BeginExecuteUrl(String url, String method, String childHeaders, Boolean sendHeaders, Boolean addUserIndo, IntPtr token, String name, String authType, Byte[] entity, AsyncCallback cb, Object state) 
    at System.Web.HttpResponse.BeginExecuteUrlForEntireResponse(String pathOverride, NameValueCollection requestHeaders, AsyncCallback cb, Object state) 
    at System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

Alguien ha encontrado con este antes o podría arrojar algo de luz sobre ella? Ejecuto una aplicación web .net 3.5 C# en IIS7.

+0

¿Ha comprobado si http://stackoverflow.com/questions/3263861/failed-to-load-asmx-file resuelve su problema? –

+0

Es realmente difícil adivinar por qué está recibiendo esta excepción sin más información. Tal vez esta publicación de blog te ayude: http://geekswithblogs.net/JoostPloegmakers/archive/2006/03/08/71697.aspx –

+0

¿Has tenido algo de suerte con esto? –

Respuesta

2

Acabo de toparme con esto al usar Windows Identity Foundation. El problema terminó resolviéndose al cambiar el grupo de aplicaciones para usar integrado en lugar de clásico. Estaba fallando cuando había una barra final en la url y redirigiendo a la página de inicio de sesión. Especificar la página completa en la url no dio el error.

1

Tuve el mismo error al usar WIF en el modo de canalización clásico. Debido a que lamentablemente no podemos cambiar la aplicación al modo de canalización integrada, hemos implementado una solución para el escenario específico que describe David Scott.

En global.asax.cs:

protected void Application_AuthenticateRequest(object sender, EventArgs e) 
    {   
     // Fix for "Failed to Execute URL" when non-authenticated user 
     // browses to application root 
     if ((User == null) 
     && (string.Compare(Request.Url.AbsolutePath.TrimEnd('/'), 
     Request.ApplicationPath, true) == 0)) 
     { 
     Response.Redirect(Request.ApplicationPath + "/Default.aspx"); 
     HttpContext.Current.ApplicationInstance.CompleteRequest(); 
     } 
    } 

Antes de que el intento de autenticación, Application_AuthenticateRequest se llama con un objeto nulo de usuario. Solo en ese caso, el código redirecciona de/a /Default.aspx (mi aplicación es Asp.Net web forms). Esto solucionó el problema para nosotros.

Cuestiones relacionadas