Frage

Ich verwende eine ASP.NET -Mitgliedschaft und insbesondere eine Kopie des im MVC -Projekt enthaltenen Mitgliedscode. Ich benutze auch Elmah, um Ausnahmen zu protokollieren. Ich werde mit Folgendem überflutet, wenn sich die Leute anmelden.

System.Web.HttpException: Server cannot set status after HTTP headers have been sent.

Hier ist die Stapelverfolgung gesendet

System.Web.HttpException: Server cannot set status after HTTP headers have been sent.
   at System.Web.HttpResponse.set_StatusCode(Int32 value)
   at System.Web.HttpResponseWrapper.set_StatusCode(Int32 value)
   at System.Web.Mvc.HandleErrorAttribute.OnException(ExceptionContext filterContext)
   at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
   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.<BeginSynchronous>b__7(IAsyncResult _)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
   at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Ich kann keinen Grund dafür finden. Es verursacht kein Problem für Endbenutzer, möchte es aber dennoch lösen/lernen.

Vielen Dank für jede Hilfe oder Anleitung.

War es hilfreich?

Lösung

Ich habe das Problem gefunden und behoben. Ich verwende ein UsSSL -Attribut, das jede Aktion für den Controller zum Wechsel auf HTTPS umleitet. Wenn ich entfernt habe, dass es gut funktioniert, brauche ich wirklich keine SSL beim Anmelden, daher habe ich das Attribut auf alle anderen Aktionen und nicht auf den Controller angewendet, und es stoppt die Ausnahme vom Auftreten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top