1

我目前正在开发一个 MVC4 应用程序。我有一个网络表单背景,这是我的第一个 MVC4 应用程序。

在每个页面的请求上,我需要触发一个操作,将一些项目放在 httpcontext 中,以便在进一步处理中重用。通常对于 web 表单,我会为此使用 http 模块,并在模块请求的开头执行任务。或者有时,我会有需要在 PostAcquireRequestState 等处触发的操作。

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

4

1 回答 1

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/

于 2012-12-07T14:27:51.943 回答