Ошибка при выполнении дочернего запроса для обработчика (приложение развернуто только на сервере) - PullRequest
2 голосов
/ 25 октября 2019

У меня проблема, которая возникает только при развертывании моего веб-приложения на нашем сервере (ошибка 500). Когда я запускаю приложение локально, ошибки не возникает.

У меня есть представление под названием «TestUnitaire.cshtml», ошибка, которую я получаю, относится к строке, где я вызываю действие XmlPreview.

<div class="row">
    <div id="partialTestUnitaireConfig" class="col-lg-8">
        @Html.Action("TestUnitaireConfig", "CommandeTest", new { testId = Model })
    </div>

    <div id="partialXmlPreview" class="col-lg-4 xmlPreview">
        @Html.Action("XmlPreview", "CommandeTest", new { testId = Model })
    </div>
</div>

В соответствующем контроллере методы выглядят так:

[HttpGet]
[AuthorizeUser(ProfilList.Superuser, ProfilList.Administrateur, ProfilList.Visiteur)]
public ActionResult TestUnitaireConfig(int? testId = null)
{
    var ctu = new CTU();
    return PartialView("_TestUnitaireConfig", ctu);
}

[HttpGet]
[AuthorizeUser(ProfilList.Superuser, ProfilList.Administrateur, ProfilList.Visiteur)]
public ActionResult XmlPreview(int? testId = null)
{
    var ctu = new CTU();
    return PartialView("_XMLPreview", ctu);
}

Исключение:

Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'.

Stacktrace:

at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
   at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage)
   at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm)
   at System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter)
   at System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues)
   at ASP._Page_Views_CommandeTest_TestUnitaire_cshtml.Execute() in d:\IIS\sites\Views\CommandeTest\TestUnitaire.cshtml:line 29
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.StartPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
   at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
   at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
   at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Я не уверен, что не так, из-за чего он не работает только во время развертывания приложения. Я буду рад предоставить более подробную информацию, если это необходимо.

Заранее благодарен за помощь.

1 Ответ

1 голос
/ 02 ноября 2019

Взгляните на Ошибка при выполнении дочернего запроса для обработчика в представлении . Может быть, один из упомянутых senarios относится и к вам. Так как он работает локально, но не работает в Azure, я подозреваю, что существует проблема с конфигурациями проекта, такими как строка подключения к базе данных (возможно, вы не обновили свой cnn для Azure)

...