Не удалось выполнить URL - есть идеи? - PullRequest
7 голосов
/ 13 апреля 2011

Я вижу некоторые записи следующего исключения в моих журналах и не знаю, почему или где это происходит:

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)

Кто-нибудь сталкивался с этим раньше или мог бы пролить свет на это?Я запускаю веб-приложение .net 3.5 c # на IIS7.

Ответы [ 3 ]

3 голосов
/ 22 августа 2013

Я только что столкнулся с этим при использовании Windows Identity Foundation. Проблема в конечном итоге была решена путем переключения пула приложений на использование Integrated вместо Classic. Это не удавалось, когда на URL-адресе была косая черта и перенаправление на страницу входа. Указание полной страницы в URL не привело к ошибке.

1 голос
/ 01 сентября 2016

У меня была такая же ошибка при использовании WIF в классическом конвейерном режиме.Поскольку, к сожалению, мы не можем перевести приложение в режим интегрированного конвейера, я реализовал исправление для конкретного сценария, который описывает Дэвид Скотт.

В 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 вызывается с нулевым объектом User.Только в этом случае код перенаправляет из / в /Default.aspx (мое приложение - веб-формы Asp.Net).Это решило проблему для нас.

0 голосов
/ 17 декабря 2018

У меня также была эта проблема, когда я использовал WIF с приложением .NET 4.5 в классическом режиме. Пользователь проходил проверку подлинности из ADFS, а затем пользователь получал эту ошибку. Ранее я отправлял адреса электронной почты -> адрес электронной почты в качестве претензии. Добавление еще одного правила утверждения как Адреса электронной почты -> Имя решило эту проблему для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...