2011-04-13 3 views
7

나는 나의 로그에 다음과 같은 예외의 일부 항목을보고하고 있는데 잘 모릅니다 왜 어디서 그가 발생 :URL 실행 실패 - 아이디어가 있습니까?

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) 

사람이 전에이 건너 않았거나 되거 수 있을까? IIS7에서 .net 3.5 C# 웹 응용 프로그램을 실행하고 있습니다.

+0

http://stackoverflow.com/questions/3263861/failed-to-load-asmx-file로 문제가 해결되었는지 확인 했습니까? –

+0

더 많은 정보없이이 예외가 발생하는 이유를 추측하기 란 정말로 어렵습니다. 어쩌면이 블로그 게시물을 통해 도움이 될 것입니다. http://geekswithblogs.net/JoostPloegmakers/archive/2006/03/08/71697.aspx –

+0

행운이 있었나요? –

답변

2

저는 Windows Identity Foundation을 사용하면서이 문제를 만났습니다. 문제는 Classic 대신 Integrated를 사용하도록 응용 프로그램 풀을 전환하여 해결되었습니다. URL에 후행 슬래시가 있고 로그인 페이지로 리디렉션 될 때 실패했습니다. URL에 전체 페이지를 지정해도 오류가 발생하지 않았습니다.

1

기존 파이프 라인 모드에서 WIF를 사용할 때도 같은 오류가있었습니다. 아쉽게도 통합 된 파이프 라인 모드로 응용 프로그램을 변경할 수 없기 때문에 David Scott이 설명하는 특정 시나리오에 대한 수정 프로그램을 구현했습니다. 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(); 
     } 
    } 

, Application_AuthenticateRequest은 널 사용자 개체를 호출합니다. 이 경우에만 코드가 /Default.aspx로 리디렉션됩니다 (내 앱은 Asp.Net 웹 양식). 이로 인해 우리에게 문제가 해결되었습니다.

관련 문제