Что вызывает эту ошибку? Ошибка выполнения дочернего запроса для системы обработчика.Сеть.В MVC.HttpHandlerUtil+ServerExecuteHttpHandlerWrapper'

Я не могу понять, почему я могу получить эту ошибку. Это происходит при вызове ajax.

любая помощь приветствуется. Спасибо!

Это полный текст ошибки:

-- 6/21/2010 6:09:10 ПМ -- система.Сеть.HttpException (0x80004005): ошибка выполнения дочернего запроса для системы обработчика.Сеть.В MVC.HttpHandlerUtil+ServerExecuteHttpHandlerWrapper'. ---> Система.Сеть.HttpUnhandledException (0x80004005): исключение типа - Система.Сеть.Появляется кинули. ---> Система.Сеть.HttpException (0x80004005): OutputStream недоступен при использовании пользовательского TextWriter. в системе.Сеть.Объект HttpResponse.get_OutputStream() в AjaxControlToolkit.ToolkitScriptManager.OutputCombinedScriptFile (HttpContext context) в C:AjaxBuildAjaxServerAjaxControlToolkitToolkitScriptManagerToolkitScriptManager - ... cs: линия 286 в AjaxControlToolkit.ToolkitScriptManager.Функции OnInit(EventArgs В Е) в C:AjaxBuildAjaxServerAjaxControlToolkitToolkitScriptManagerToolkitScriptManager.cs: линия 246 в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Управление.InitRecursive (управление namingContainer) в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Управление.InitRecursive (управление namingContainer) в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Управление.InitRecursive (управление namingContainer) в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Управление.InitRecursive (управление namingContainer) в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Страница.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Страница.HandleError (исключение e) в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Страница.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Страница.ProcessRequest (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Страница.ProcessRequest() в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Страница.ProcessRequestWithNoAssert (контекст HttpContext) в системе.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Страница.ProcessRequest(HttpContext в контексте) на Система.Сеть.В MVC.Файлы viewpage.ProcessRequest(HttpContext в контексте) на ASP.views_listen_twittertimeline_aspx.ProcessRequest (контекст HttpContext) в c:WindowsMicrosoft.NETFrameworkv4.0.30319Temporary ASP.NET файлыroot8f8e9134ff8a3dedApp_Web_4vjkjyte.13.cs: строка 0 в системе.Сеть.В MVC.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.с__DisplayClass1.б__0() в системе.Сеть.В MVC.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.с__DisplayClass4.Б__3() на Система.Сеть.В 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 Продолжение) в системе.Сеть.В MVC.ControllerActionInvoker.с__DisplayClass14.с__DisplayClass16.Б__13() в системе.Сеть.В MVC.ControllerActionInvoker.InvokeActionResultWithFilters (ControllerContext 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.Б__7(объекта iasyncresult _) в системе.Сеть.В MVC.Асинхронный.AsyncResultWrapper.WrappedAsyncResult ' 1.Конец() в системе.Сеть.В MVC.MvcHandler.EndProcessRequest(Объекта Iasyncresult параметр asyncResult) в системе.Сеть.В MVC.MvcHandler.Система.Сеть.IHttpAsyncHandler.EndProcessRequest (результат IAsyncResult) в системе.Сеть.Класса HttpApplication.CallHandlerExecutionStep.Система.Сеть.Класса HttpApplication.IExecutionStep.Выполнять() в системе.Сеть.Класса HttpApplication.ExecuteStep (шаг IExecutionStep, Boolean& completedSynchronously)

5 ответов


трассировка стека содержит ответ:

OutputStream недоступен, когда используется пользовательский TextWriter. на Система.Сеть.Объект HttpResponse.get_OutputStream() на AjaxControlToolkit.ToolkitScriptManager.OutputCombinedScriptFile (HttpContext контекст) в C:\AjaxBuild\Ajax\Server\AjaxControlToolkit\ToolkitScriptManager\ToolkitScriptManager.cs: линия 286 at AjaxControlToolkit.ToolkitScriptManager.OnInit (EventArgs е) в C:\AjaxBuild\Ajax\Server\AjaxControlToolkit\ToolkitScriptManager\ToolkitScriptManager.cs: линия 246 at Система.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Управление.InitRecursive (Управление namingContainer) at Система.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Управление.InitRecursive (Управление namingContainer) at Система.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Управление.InitRecursive (Управление namingContainer) at Система.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Управление.InitRecursive (Управление namingContainer) at Система.Сеть.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.Страница.ProcessRequestMain (Логическое Значение includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

вы используете AjaxControlToolkit, который представляет собой набор серверных элементов управления. Серверные элементы управления не поддерживаются ASP.NET MVC. Возможно, вы захотите вызвать API Javascript AjaxControlToolkit вместо использования серверных элементов управления, так как это должно дать вам желаемое поведение в соответствии с MVC.


ваш код представления MVC, вероятно, имеет синтаксическую ошибку. Вероятно, вы увидите сообщение об ошибке в журнале ошибок, но это не остановит работу сайта, так как код представления не компилируется так же, как стандартный класс.

поэтому проверьте журнал ошибок для любых сообщений об ошибках синтаксиса.


Я получаю аналогичную ошибку, если я изменяю свой AccountController (или HomeController), чтобы быть производным от моего BaseController. (По умолчанию, каждый контроллер является производным от "контроллер"). У меня были общие действия, определенные в моем BaseController, который является производным от контроллера.

Если я изменю свой AccountController, чтобы быть производным от (по умолчанию) "контроллера", все работает нормально. Не уверен, что это поможет !


попробуйте установить CombineScripts="false" на ToolkitScriptManager инициализации. Это не корень проблемы, но она на правильном пути.


в моем случае это был оператор if в BeginFrom

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

   }
   <some html>

}