2012-12-07 61 views
1

我目前正在研究MVC4應用程序。我有一個網頁表單背景,這是我的第一個MVC4應用程序。全局mvc過濾器或httpmodule

在每個頁面的請求上,我需要觸發一個動作,該動作會在httpcontext中放置一些項目,以便在進一步處理中重用。通常在Web表單中我會使用一個http模塊來完成這個任務,並且在模塊的請求開始時執行任務。或者有時候,我需要在PostAcquireRequestState上執行一些操作。

但是現在我正在使用MVC,創建全局過濾器的最佳方法是在每個控制器操作期間被觸發嗎?在過濾器中,我會將相同的邏輯放在httpmodule中。這種方法有什麼優點和缺點?

+1

你也可以去。除非你解釋你到底想要達到什麼,否則很難提出建議。 – VJAI

+0

例如,我去設置一些cookie,在httpcontext中插入項目並設置線程文化等。 – amateur

回答

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/