Asp.net mvc 避免tempdatamvc

Asp.net mvc 避免tempdatamvc,asp.net-mvc,Asp.net Mvc,我已经阅读了SO上的大多数问答,它们似乎都使用TempData作为问题的答案,通过“保存表单/感谢您所做的一切”等消息重定向到操作 我知道您可以使用cookies和会话来完成此操作。问题是我想避免会话,因此TempData下面只使用会话 因此,问题-如何避免重复插入并将各种消息发送到其他操作,而不依赖会话/Cookies/查询字符串并添加到混合隐藏字段中 谢谢,避免重复的唯一方法是在插入之前先实际查询数据库 2) 为了避免会话等,我能想到的唯一其他方法是将数据保存到数据库中,并将一些用户id连接

我已经阅读了SO上的大多数问答,它们似乎都使用TempData作为问题的答案,通过“保存表单/感谢您所做的一切”等消息重定向到操作

我知道您可以使用cookies和会话来完成此操作。问题是我想避免会话,因此TempData下面只使用会话

因此,问题-如何避免重复插入并将各种消息发送到其他操作,而不依赖会话/Cookies/查询字符串并添加到混合隐藏字段中

谢谢,避免重复的唯一方法是在插入之前先实际查询数据库

2) 为了避免会话等,我能想到的唯一其他方法是将数据保存到数据库中,并将一些用户id连接到数据库


3) 我建议使用带有ajax回发的javascript(mvvm框架将是一个不错的选择)解决方案。这不仅可以阻止用户进行整页回发,还可以让您同时感觉它是一个快速响应的应用程序。您可以更直接地向用户发送消息,并指出错误所在等等。

Joakim感谢您的帮助,我理解您对javascript/ajax的理解,但我希望在用户关闭它时避免这种情况。在插入方面是的,我可以检查,但在更新方面会发生什么。是否值得一次又一次的更新,我相信一定会有另一个解决方案。如果有人遇到过这样的问题,我会很高兴地知道,正如我读到的文章所说,如果您使用Session/Tempdata或任何基于Session的存储来完成简单任务,那么您的achitecture技能需要发挥作用,因为总有其他选择。在这种情况下,您应该问自己“什么是简单任务?”还有什么比你的主人更累?数据库的点击率?还是完全回发时实际传输的数据量?还考虑页面是否做了其他的查询,不包括你关注的主要动作?这就是为什么更常见的做法是将用户转移到一个页面,说明操作已经执行,而不是由于许多不同的原因立即检查。另外,javascript应该是一个扩展,如果用户禁用了它,页面应该再次降级为postThanks。我理解这一点,我想就像你说的那样,使用javascript对于ajax保存等来说不是一个坏主意,我想对于简单的消息传递TempData也可以。我想知道的主要原因也是我的应用程序禁用了会话/没有使用会话,我只有几个问题,一直在努力寻找解决办法。1) 如上所述,是“感谢/保存”问题,另一个是在没有会话的情况下保存每个用户的数据,而我正试图使用缓存?如果会话关闭且应用程序负载平衡,Tempdata会被禁用吗?