【问题标题】:What is causing this error? Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerWrapper'是什么导致了这个错误?执行处理程序“System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerWrapper”的子请求时出错
【发布时间】:2011-03-06 10:32:47
【问题描述】:

我无法弄清楚为什么我可能会收到此错误。它发生在ajax调用上。

感谢任何帮助。谢谢!

这是完整的错误文本:

-- 2010 年 6 月 21 日下午 6:09:10 -- System.Web.HttpException (0x80004005):执行处理程序“System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerWrapper”的子请求时出错。 ---> System.Web.HttpUnhandledException (0x80004005):抛出了“System.Web.HttpUnhandledException”类型的异常。 ---> System.Web.HttpException (0x80004005):使用自定义 TextWriter 时,OutputStream 不可用。 在 System.Web.HttpResponse.get_OutputStream() 在 C:\AjaxBuild\Ajax\Server\AjaxControlToolkit\ToolkitScriptManager\ToolkitScriptManager.cs:line 286 中的 AjaxControlToolkit.ToolkitScriptManager.OutputCombinedScriptFile(HttpContext context) 在 C:\AjaxBuild\Ajax\Server\AjaxControlToolkit\ToolkitScriptManager\ToolkitScriptManager.cs:line 246 中的 AjaxControlToolkit.ToolkitScriptManager.OnInit(EventArgs e) 在 System.Web.UI.Control.InitRecursive(控件命名容器) 在 System.Web.UI.Control.InitRecursive(控件命名容器) 在 System.Web.UI.Control.InitRecursive(控件命名容器) 在 System.Web.UI.Control.InitRecursive(控件命名容器) 在 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint) 在 System.Web.UI.Page.HandleError(异常 e) 在 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint) 在 System.Web.UI.Page.ProcessRequest(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint) 在 System.Web.UI.Page.ProcessRequest() 在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext 上下文) 在 System.Web.UI.Page.ProcessRequest(HttpContext 上下文) 在 System.Web.Mvc.ViewPage.ProcessRequest(HttpContext 上下文) 在 c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\8f8e9134\ff8a3ded\App_Web_4vjkjyte.13.cs:line 0 中的 ASP.views_listen_twittertimeline_aspx.ProcessRequest(HttpContext context) 在 System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.c__DisplayClass1.b__0() 在 System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.c__DisplayClass4.b__3() 在 System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func1 func) at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap(Action action) at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.ProcessRequest(HttpContext context) 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.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.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) at System.Web.Mvc.ViewPage.RenderView(ViewContext viewContext) at System.Web.Mvc.WebFormView.RenderViewPage(ViewContext context, ViewPage page) at System.Web.Mvc.WebFormView.Render(ViewContext viewContext, TextWriter writer) at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass14.<InvokeActionResultWithFilters>b__11() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func1 继续) 在 System.Web.Mvc.ControllerActionInvoker.c__DisplayClass14.c__DisplayClass16.b__13() 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext 控制器上下文,IList1 filters, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) at System.Web.Mvc.Controller.ExecuteCore() at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) at System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__4() at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0() at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass81.b__7(IAsyncResult _) 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() 在 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) 在 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 结果) 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-2


    【解决方案1】:

    您的 MVC 视图代码中可能存在语法错误。您可能会在错误日志中看到一条错误消息,但它不会阻止站点运行,因为 View 代码的编译方式与标准类的编译方式不同。

    因此请检查您的错误日志中是否有任何语法错误消息。

    【讨论】:

    • 谢谢,这实际上让我发现了一个我不知道的错误。
    • 这当然是一个很好的答案(也许是最好的),因为我不知道这些 mvc 错误记录在事件中!
    【解决方案2】:

    堆栈跟踪包含答案:

    OutputStream 在以下情况下不可用 使用自定义 TextWriter。在 System.Web.HttpResponse.get_OutputStream() 在 AjaxControlToolkit.ToolkitScriptManager.OutputCombinedScriptFile(HttpContext 上下文)在 C:\AjaxBuild\Ajax\Server\AjaxControlToolkit\ToolkitScriptManager\ToolkitScriptManager.cs:line 286 在 AjaxControlToolkit.ToolkitScriptManager.OnInit(EventArgs e) 在 C:\AjaxBuild\Ajax\Server\AjaxControlToolkit\ToolkitScriptManager\ToolkitScriptManager.cs:line 246 在 System.Web.UI.Control.InitRecursive(控制 命名容器)在 System.Web.UI.Control.InitRecursive(控制 命名容器)在 System.Web.UI.Control.InitRecursive(控制 命名容器)在 System.Web.UI.Control.InitRecursive(控制 命名容器)在 System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,布尔值 includeStagesAfterAsyncPoint)

    您正在使用 AjaxControlToolkit,它是服务器控件的集合。 ASP.NET MVC 不支持服务器控件。您可能希望调用 AjaxControlToolkit 的 Javascript API 而不是使用服务器控件,因为这应该以符合 MVC 的方式为您提供所需的行为。

    【讨论】:

      【解决方案3】:

      尝试在ToolkitScriptManager初始化中设置CombineScripts="false"。 这不是问题的根源,但它在正确的道路上。

      【讨论】:

        【解决方案4】:

        如果我将我的 AccountController(或 HomeController)更改为从我的 BaseController 派生,我会收到类似的错误。 (默认情况下,每个控制器都派生自“控制器”)。我在从 Controller 派生的 BaseController 中定义了通用操作。

        如果我将我的 AccountController 改回从(默认)“控制器”派生,一切正常。不确定是否有帮助!

        【讨论】:

          【解决方案5】:

          在我的例子中,它是 BeginFrom 中的 if 运算符

          @using (Html.BeginForm()) {
             <some html>
             @if(condition)
             {
          
             }
             <some html>
          
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-04-06
            • 1970-01-01
            • 2011-08-13
            相关资源
            最近更新 更多