سؤال

أنا أستخدم عضوية ASP.NET ، ولا سيما نسخة من رمز العضوية المدرجة في مشروع MVC. أنا أيضًا أستخدم Elmah لتسجيل الاستثناءات. لقد غمرت المياه بما يلي عندما يسجل الناس الخروج.

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

هنا تم إرسال تتبع المكدس

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)

لا يمكنني العثور على أي سبب لهذا. لا يسبب مشكلة للمستخدمين النهائيين ، ولكن لا يزال يرغب في حل/التعرف على ذلك.

شكرا على أي مساعدة أو إرشادات.

هل كانت مفيدة؟

المحلول

لقد وجدت المشكلة وأصلحت. أنا أستخدم سمة usESSL ، والتي تعيد توجيه أي إجراء لوحدة التحكم للتبديل إلى HTTPS. عندما أزلت أنه يعمل بشكل جيد ، لا أحتاج إلى SSL عند تسجيل الخروج ، لذلك قمت بتطبيق السمة على جميع الإجراءات الأخرى وليس وحدة التحكم وتوقف الاستثناء من حدوثها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top