.net – ActionFilterAttribute不重定向
|
我有一个没有正确重定向的ActionFilterAttriute的问题.我不熟悉完整的代码库,但我已经看到了不知道发生了什么. 为了简化代码,我删除了不相关的部分: public class ResolveApplicationRedirectAttribute : ActionFilterAttribute
{
//some variables
private ActionExecutingContext _filterContext;
protected string ApplicationRedirectUrl
{
get { return ConfigurationManager.AppSettings["ApplicationRedirectUrl"]; }
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
_filterContext = filterContext;
//a lot of logic that decide if we should redirect or not
//I added this after the other logic to make it always redirect regardless of what happens inside the logic above
_filterContext.Result = new RedirectResult(ApplicationRedirectResult);
}
}
[ResolveApplicationRedirect]
public ActionResult Index(CrmQueryStringParameters crmParameters){
//some logic
}
这通常有效,但是当应用程序在短时间内受到一些请求的影响时,Index方法最终被调用,并且因为View缺少某些数据而爆炸(我们知道它缺少数据.这就是为什么我们想重定向). 但是现在当我添加_filterContext.Result = new RedirectResult(ApplicationRedirectResult)作为OnActionExecuting方法的最后一行时,它怎么可能仍然调用我的Action方法? 是否有任何知道错误/角落案例/任何其他可能导致MVC忽略RedirectResult我已经放入filterContext并激活动作方法的东西? 即使我将filterContext.Result设置为最后一行,OnActionExecuting逻辑中可能导致问题的任何特殊内容.属性中的任何异常都应该将其炸毁,而不是跳过属性并调用Action方法. 任何有助于指出我正确方向的帮助都将在这里受到赞赏. 解决方法1表示Wouter的结果.鉴于您展示的代码,不可能实现您描述的结果.也许//魔术逻辑在这里返回一个null _filterContext.Result?(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在ASP.NET MVC中以HTML格式呈现RDLC报告
- Asp.net MVC Razor – 自定义javascript里面的if块
- asp.net – 可以回收IIS应用程序池,而不会丢失用户会话?
- asp.net – 从通用列表中将ListItem添加到DropDownList
- ASP.NET 清除模式窗口数据缓存的操作方式
- ASP.net Model View Presenter是否值得时间?
- asp.net-mvc-3 – 将复选框绑定到MVC中的int数组/枚举
- asp.net-mvc – 在ASP.NET MVC中指定只读会话
- ASP.NET MVC AJAX Sys是未定义的错误
- asp.net – 当主内容没有填满页面时,如何在主页面上获
- asp.net-mvc – 处理asp.net mvc中的错误和异常
- asp.net-mvc – 在ASP.NET MVC 3中的子文件夹中添
- 如何为ASP.NET_SessionId cookie设置HttpOnly?
- asp.net-mvc – Asp.net MVC / Web Api路由:需要
- asp.net-mvc – MVC3 AntiForgeryToken打破了Aja
- asp.net-mvc – 在VS2012中调试MVC应用程序尝试启
- asp.net-mvc – 确保每个控制器方法都有一个Vali
- asp.net – 动态设置超链接控件的navigationurl属
- asp.net – 在Owin有来自Global.asax的Applicati
- asp.net-mvc – Url.Action生成查询字符串,以任何
