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 回答