全局mvc过滤器或httpmodule

时间:2012-12-07 00:35:25

标签: asp.net-mvc asp.net-mvc-4 httpmodule

我目前正在研究MVC4应用程序。我有一个Web表单背景,这是我的第一个MVC4应用程序。

在每个页面的请求中,我需要触发一个动作,该动作将一些项放在httpcontext中,并在进一步处理中重用。通常使用Web表单我会使用http模块,并在模块请求的开头执行任务。或者有时候,我会有需要在PostAcquireRequestState等处触发的动作。

但是现在我正在使用MVC,创建一个在每个控制器操作期间被触发的全局过滤器是更好的做法吗?在过滤器中,我会在httpmodule中放置相同的逻辑。这种方法的优点和缺点是什么?

1 个答案:

答案 0 :(得分:0)

稍后在MVC请求处理管道中执行过滤器。对于像设置文化这样的东西,我建议尽可能早地在Application_AcquireRequestState事件中这样做。

我认为模型绑定比过滤器更早发生,因此您将面临一些与文化相关的问题http://gedgei.wordpress.com/2011/09/17/asp-net-mvc-localization-using-actionfilter/。在这种情况下,我会投票选择自定义HttpModule过滤器。

http://weblogs.manas.com.ar/smedina/2008/12/17/internationalization-in-aspnet-mvc/