2010-06-21 94 views
7

我無法弄清楚爲什麼我可能會得到這個錯誤。它發生在ajax調用上。什麼引起這個錯誤?執行處理程序的子請求錯誤'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerWrapper'

任何幫助表示讚賞。謝謝!

這是完全錯誤的文字:

- 6/21/2010下午6時09分10秒 - System.Web.HttpException(0X80004005):執行處理程序進行處理子請求錯誤「系統。 Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerWrapper」。 ---> System.Web.HttpUnhandledException(0x80004005):拋出了'System.Web.HttpUnhandledException'類型的異常。 ---> System.Web.HttpException(0x80004005):使用自定義TextWriter時,OutputStream不可用。 在System.Web.HttpResponse.get_OutputStream() 在AjaxControlToolkit.ToolkitScriptManager.OutputCombinedScriptFile(HttpContext的上下文)中C:\ AjaxBuild \ Ajax的\服務器\ AjaxControlToolkit \ ToolkitScriptManager \ ToolkitScriptManager.cs:線286 在AjaxControlToolkit.ToolkitScriptManager.OnInit( EventArgs e)在C:\ AjaxBuild \ Ajax \ Server \ AjaxControlToolkit \ ToolkitScriptManager \ ToolkitScriptManager.cs:行246 在System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Control.InitRecursive控制命名容器) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,布爾includeStagesAfterAsyncPoint) 在System.Web.UI.Page.HandleError(例外五) 在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的上下文) 在系統.Web.Mvc.ViewPage.ProcessRequest(HttpContext上下文) at c. \ Windows \ Microsoft.NET \ Framework \ v4.0.30319中的ASP.views_listen_twittertimeline_aspx.ProcessRequest(HttpContext上下文)\ Temporary ASP.NET Files \ root \ 8f8e9134 \ ff8a3ded \ App_Web_4vjkjyte .13.cs:行0 在System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper。 <> c__DisplayClass1.b__0() at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper。 <> c__DisplayClass4.b__3() at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap [TResult](Func 1 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, Func 1 continuation) at System.Web.Mvc.ControllerActionInvoker。 <> c__DisplayClass14。 <> c__DisplayClass16.b__13() 在System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext,IList的1 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__DisplayClass8 1.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() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean & Synchronousally completed)

回答

11

堆棧跟蹤包含了答案:當使用 定製的TextWriter

的OutputStream不可用。在 System.Web.HttpResponse.get_OutputStream() 在 AjaxControlToolkit.ToolkitScriptManager.OutputCombinedScriptFile(HttpContext的 上下文)中 C:\ AjaxBuild \ Ajax的\服務器\ AjaxControlToolkit \ ToolkitScriptManager \ ToolkitScriptManager.cs:線 286在 AjaxControlToolkit。 ToolkitScriptManager.OnInit(EventArgs的 e)如 C:\ AjaxBuild \ Ajax的\服務器\ AjaxControlToolkit \ ToolkitScriptManager \ ToolkitScriptManager.cs:線 246在 System.Web.UI.Control.InitRecursive(控制 namingContainer)在 系統。 Web.UI.Control.InitRecursive(控制 namingContainer)在 System.Web.UI.Control.InitRecursive(控制 namingContainer)在 System.Web.UI.Control.InitRecursive(控制 namingContainer)在 System.Web.UI.Page.ProcessRequestMain(布爾 includeStagesBeforeAsyncPoint,布爾 includeStagesAfterAsyncPoint )

您正在使用AjaxControlToolkit,它是一組服務器控件。 ASP.NET MVC不支持服務器控件。您可能希望調用AjaxControlToolkit的Javascript API而不是使用服務器控件,因爲這應該以符合MVC的方式爲您提供所需的行爲。

+0

拿出AjaxControlToolkit,似乎都有效。 – rksprst 2010-06-21 21:30:38

7

您的MVC視圖代碼可能存在語法錯誤。您可能會在錯誤日誌中看到錯誤消息,但它不會阻止網站運行,因爲視圖代碼的編譯方式與標準類相同。

因此,檢查您的錯誤日誌中是否有任何語法錯誤消息。

+1

謝謝,這實際上讓我發現我不知道錯誤在那裏。 – rksprst 2010-06-21 21:30:54

+1

這當然是一個很好的答案(也許是最好的),因爲我不知道這些mvc錯誤記錄在事件中! – 2011-07-02 04:37:20

0

嘗試在ToolkitScriptManager初始化中設置CombineScripts="false"。 這不是問題的根源,但它是正確的。

1

我得到類似的錯誤,如果我更改我的AccountController(或HomeController)從我的BaseController派生。 (默認情況下,每個控制器都來自「控制器」)。我有我的BaseController中定義的通用動作,它是從Controller派生的。

如果我改回我的AccountController派生自(默認)「控制器」,一切工作正常。不知道它是否有幫助!

0
在我的情況

,這是一個,如果運營商內部BeginFrom

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

    } 
    <some html> 

} 
相關問題