2

ASP.NET MVC3 アプリケーションで TempDataProvider を変更したいです...オーバーライドすることで各コントローラーでこれを実行できることはわかっていますCreateTempDataProvider...しかし、1 つの場所でこれを行う方法があるかどうか疑問に思っていました ("グローバル.asax?") をすべてのコントローラーに適用します。

私の理由は、私のサイトがクラウド サーバー上にあるためです...場合によっては Post-Redirect-Get パターンを実装したいのですが、ユーザーが別のサーバーに送信されてメッセージが届かないようにしたくありません。

4

1 に答える 1

3

独自のControllerFactoryを作成できるようです。DefaultControllerFactoryここで、基本クラスからコントローラーを取得した後、TempDataProviderを実装に設定できます。詳細については、こちらをご覧ください。
これはおそらくあなたが必要とすることをしますが、個人的には次のアプローチよりももっと好きです:

すべてのコントローラーに「ベース」コントローラークラスを継承させることをお勧めします。一般的なコントローラーロジック(オーバーライドなどCreateTempDataProvider)を1か所で実行できます。

于 2011-05-21T14:36:51.277 に答える