asp.net – 我无法解决unhandeld异常:在已设置HTTP标头后无法设
发布时间:2020-12-16 09:40:03 所属栏目:asp.Net 来源:网络整理
导读:我有一个在IIS中发出警告的应用程序. 当我在我的视觉工作室尝试时,没有任何错误. 我在global.asax中创建了一个Application_Error来捕获无法处理的异常. 以下是有关此错误的信息: Message: Server cannot set status after HTTP headers have been sent.Sour
我有一个在IIS中发出警告的应用程序.
当我在我的视觉工作室尝试时,没有任何错误. 以下是有关此错误的信息: Message: Server cannot set status after HTTP headers have been sent. Source: System.Web. InnerException: (none) End of stacktrace: at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) 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) 我该如何调试? 当用户登陆到web应用程序时,如果没有会话,则会将其重定向到auth服务,该服务在web应用程序中重定向用户,并在URL中使用令牌来验证用户. 这是在此过程中抛出错误. 编辑:也许是这个代码产生警告 protected override void OnActionExecuting(ActionExecutingContext filterContext) { string token = Request.QueryString["token"]; // In the case I suspect to generate warning,the token is null! if (!string.IsNullOrEmpty(token)) { SessionManager.IdentityToken = token; SessionManager.UserDatas.IdentityToken = token; SSOInformations sso = SSOManager.GetSSO(new Guid(token),false); if (sso != null) { SessionManager.UserDatas.loginID = sso.login; // Get and set session // Code catch (Exception ex) { TempData["ERROR_MESSAGE"] = ex.Message; RedirectToAction("index","error"); } } else { // if the sso failed,retry to authenticate Response.Redirect(ConfigManager.AuthService); // 31122013 : CHA : to avoid to write warnings on the server return; } //} } base.OnActionExecuting(filterContext); } 解决方法
即使您调用Response.Redirect和RedirectToAction,仍会触发操作方法.
要解决此问题,请将重定向行更改为 filterContext.Result = RedirectToAction("index","error"); 和 filterContext.Result = Redirect(ConfigManager.AuthService); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何做一个ASP.NET MVC Ajax表单与multipart/form-data?
- asp.net-mvc – HttpContext.Current调用背后有多少计算?
- asp.net-mvc – asp.net mvc中的加密视图状态
- asp.net-mvc – 在模型/视图/控制器键盘快捷键之间导航?
- Favicon只在主页ASP.NET MVC中显示
- 由于asp.net-C中的保护级别错误而无法访问#
- 在ASP.Net中如何做一个搜索表单?
- asp.net-web-api – 请求的资源不支持http方法“PUT”
- asp.net – 在代码中获取页面的绝对URL
- asp.net – 如何将数据绑定表达式的值存储到变量中
推荐文章
站长推荐
- asp.net C#ajax运行’async’批处理作业
- 像ValidationGroup这样的ASP.NET使用JQuery验证插
- 在Entity Framework中使用存储过程(四):如何为
- .net – 动态创建的控件未触发事件处理程序
- asp.net – 在部署到SharePoint时,ObjectDataSou
- asp.net-mvc – 使用MiniProfiler与MVC 5
- entity-framework – 在mvc中使用控制器中的模型
- asp.net-mvc – Fluent Validation不会在第一次验
- asp.net – EF更新记录属性后在SaveChanges()上抛
- asp.net – Page enableEventValidation =“true
热点阅读