我有一个
在 CustomErrorHandleAttribute.cs 文件中,我遇到了错误 --> 服务器在 HTTP 标头已发送后不能设置状态。
请帮助我解决此问题。
OnActionExecuting
ActionFilter
,在其中我已经检查了用户会话是否已过期,如果会话已过期,则必须将用户重定向到登录页面。
CompressFilterAttribute.cs
文件中的代码如下所示:public override void OnActionExecuting(ActionExecutingContext FilterContext)
{
if (((((System.Web.Mvc.ControllerContext)(FilterContext)).HttpContext).Request).IsAuthenticated)
GZipEncodePage(); //Function to check Session Expiration Time
var action = (string)FilterContext.RouteData.Values["action"];
if (!FilterContext.HttpContext.User.Identity.IsAuthenticated &&
action != "Index" &&
action != "FindStoreNameByText" &&
action.ToLower() != "sessiontimeout" &&
action.ToLower() != "logout")
{
string UrlSucesso = "/Home";
string UrlRedirecionar = string.Format("?ReturnUrl={0}", UrlSucesso);
string UrlLogin = FormsAuthentication.LoginUrl + UrlRedirecionar;
FilterContext.HttpContext.Response.Redirect(UrlSucesso, true);
}
}
CustomErrorHandleAttribute.cs 文件的代码如下所示:
public override void OnException(ExceptionContext filterContext)
{
base.OnException(filterContext);
// Rest logic
}
在 CustomErrorHandleAttribute.cs 文件中,我遇到了错误 --> 服务器在 HTTP 标头已发送后不能设置状态。
请帮助我解决此问题。