2011-05-21 36 views
2

我想改變TempDataProvider在ASP.NET MVC3應用程序......我知道我可以通過重寫CreateTempDataProvider做到這一點每個控制器上......但我不知道是否有一種方法在1點做到這一點(「Global.asax?」)。在MVC3中,我如何覆蓋全局的TempDataProvider?

我的理由是,我的網站是一個雲服務器上...我想實現在某些情況下,後重定向消息獲取的模式,但我不希望用戶發送到另一臺服務器上,從來沒有得到他的消息。

回答

3

看來你可以編寫自己的ControllerFactory。在這裏,您可以從基地DefaultControllerFactory類中檢索控制器後,將TempDataProvider設置爲您的實施。查看更多詳情here
這可能真的需要什麼,但我個人寧願多則下一個方法:

我覺得這是一個很好的做法,所有的控制器一些「基地」控制器類繼承。常見的控制器邏輯(如覆蓋CreateTempDataProvider然後可以在1個地方完成

+0

我希望我不必做一個基類... – 2011-05-21 18:00:30

+0

在下一個項目中,你可以從一開始做:) – TweeZz 2011-05-21 19:43:21