执行处理程序的子请求时出错(仅在服务器上部署应用程序)

时间:2019-10-25 15:36:00

标签: c# html asp.net-mvc razor

我有一个仅在将Web应用程序部署到服务器上时才发生的问题(错误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 个答案:

答案 0 :(得分:1)

看看Error executing child request for handler in view。也许上述提到的一种方法也适用于您。由于它可以在本地运行,但不能在Azure上运行,我怀疑项目配置有问题,例如数据库连接字符串(也许您没有为Azure更新cnn)

相关问题