Asp.net mvc 序列化MVC ViewDataDictionary

Asp.net mvc 序列化MVC ViewDataDictionary,asp.net-mvc,Asp.net Mvc,我正在使用SQLStateServer作为会话变量。我还将ViewData存储在TempData中,以便通过重定向访问ModelState。问题是ViewDataDictionary不可序列化。在存储会话变量时,是否有方法钩住会话存储逻辑以序列化ViewDataDictionary 谢谢。我认为你打破了MVC模式的基本理念 您不应该需要session变量。将模型传递给视图,然后将模型传递回控制器。不管它是否是重定向。我没有将整个ViewData字典存储在TempData中,而是存储了所需的值。虽

我正在使用SQLStateServer作为会话变量。我还将ViewData存储在TempData中,以便通过重定向访问ModelState。问题是ViewDataDictionary不可序列化。在存储会话变量时,是否有方法钩住会话存储逻辑以序列化ViewDataDictionary


谢谢。

我认为你打破了MVC模式的基本理念


您不应该需要session变量。将模型传递给视图,然后将模型传递回控制器。不管它是否是重定向。

我没有将整个ViewData字典存储在TempData中,而是存储了所需的值。虽然有点老套,但现在还可以。

虽然我同意MVC旨在消除会话的需要,但有些用例仍然需要它。例如,当用户被重定向到第三方以完成一个过程时,我需要保存一些用户信息。流程完成后,第三方将进行回调,我的应用程序需要根据现有用户会话数据验证请求。大多数基于web的第三方API(如PayPal)允许您指定回调URL,在操作完成时调用该URL。如果是这种情况,可以在回调url中指定模型状态的键,然后在控制器中查找该键。(如果要避免欺骗攻击,请记住将密钥设置为一次性安全密钥)