2011-03-23 56 views
0

我的控制器中有许多操作方法可以从Web服务或数据库中检索数据。沿着它们,在同一个控制器中还有其他的使用这些数据的动作方法。正如我想避免不必要的数据检索,我想知道什么是最佳做法与其他方法共享数据而不使用cookie或会话?跨MVC控制器的全局数据

在控制器中使用全局属性是可以接受的吗?

回答

0

使用Cache.Insert存储数据服务器端 - 这是实现此目的的最简单方法。尽管对大型对象有序列化的影响,但请注意。

+0

对不起,如果我没有提到,但这是用户特定的数据。我不应该使用会话而不是缓存? – Ninjago 2011-03-24 09:01:33

0

你想跨多个请求使用数据吗?然后我会推荐会话。或者您是否有几个部分视图,并只保留一个请求的日期?然后你可以使用ViewBag。您提到了多种操作方法:它们全部在同一个控制器中吗?即使这样也没有帮助:每个请求都会创建一个新的Controller实例,但不能通过控制器的属性共享日期。