【问题标题】:How do I store data between requests in ASP.NET MVC?如何在 ASP.NET MVC 中的请求之间存储数据?
【发布时间】:2013-03-11 11:04:51
【问题描述】:

我的应用程序从 USB 扫描仪读取条形码。我将它们视为令牌,然后从这些令牌构建命令。在创建命令之前,可能需要进行 2 次或更多次读取。我需要以某种方式存储以前的读取。如何在请求之间保留一些数据?在我看来,我不会使用这些令牌。

视图中只能显示命令的结果。

【问题讨论】:

    标签: asp.net .net asp.net-mvc


    【解决方案1】:

    TempData 字典非常适​​合在控制器操作之间存储数据。它最常用于 Post/Redirect/Get 模式,但也可以在这里应用。

    这是一篇关于它的好文章:http://www.devcurry.com/2012/05/what-is-aspnet-mvc-tempdata.html

    【讨论】:

    • 所以,TempData 的问题在于它只存在于两个请求之间。您可以使用TempData.Keep() 命令使TempData 持续存在,但是在实际生产环境中它是不可靠的 - 您可能会间歇性丢失 TempData,尤其是在执行 AJAX 请求时。
    【解决方案2】:

    我想到了以下几种可能性:

    在客户端:

    • 饼干
    • 隐藏字段

    在服务器上:

    • 缓存(确保使用用户特定的密钥以避免冲突)
    • 一些后端存储(例如数据库)
    • ASP.NET 会话

    【讨论】:

    • 当控制器动作方法返回一个视图,该视图将表单发布到外部 URL,然后重定向回同一控制器中的另一个控制器动作方法时,我们想要保留一些数据怎么办跨度>
    猜你喜欢
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    相关资源
    最近更新 更多