我最近了解到默认情况下,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)?