不使用Sessions时如何在TempData中存储ViewData?

时间:2014-06-24 18:23:24

标签: asp.net-mvc session tempdata

我最近了解到默认情况下,TempData for MVC由Sessions支持,如果有人打算建立一个网络农场,这是一个糟糕的想法......

我试图实现Brock Allen的Cookie based TempData provider,但是,ViewData对象本身没有标记为Seriablizable,因此,不能存储在基于Cookie的提供程序(或会话状态服务等等)中...)

Type 'System.Web.Mvc.ViewDataDictionary' in Assembly 'System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' is not marked as serializable.

BrockAllen.CookieTempData.CookieTempDataProvider.SaveTempData(ControllerContext controllerContext, IDictionary`2 values) in c:\ballen\github\CookieTempData\45\BrockAllen.CookieTempData\CookieTempDataProvider.cs:31

System.Web.Mvc.TempDataDictionary.Save(ControllerContext controllerContext, ITempDataProvider tempDataProvider) +154

我如何解决这个问题?!

更新

也许一个问题的方法是:如何将ViewData发送到另一个Controller方法(PRG:Post,Redirect,Get范例)而不需要TempData(以及Sessions)?

0 个答案:

没有答案