有没有比使用会话变量访问应用程序中任何位置的对象更好的方法?

时间:2011-05-17 21:56:50

标签: asp.net-mvc-3

我正在使用ASP.NET MVC 3.0。我有一个带有操作链接的页面,使其显示一个窗口,您可以在其中调整某个值。将新值发送到数据库后,extern应用程序将处理该值并将结果发送回该数据库。我希望在extern应用程序正在执行其工作时禁用操作链接。我正在处理的页面是通过一些AJAX调用自动刷新的。外部应用程序完成对值的最后一次调整的日期保存在数据库中。我首先想到我可以使用会话变量来存储按下操作链接的日期时间(因为我需要通过所有应用程序)然后在调整时间大于操作链接的时间时启用操作链接压力,但我听说这是不好的做法。有人有另一种解决方案吗?

1 个答案:

答案 0 :(得分:0)

由于您已在使用数据库 - 请查询数据库以检查当前状态。如果您的应用程序重新启动 - 会话值将丢失,除非您使用状态服务器(即sql server)来管理状态 - 除非您不关心它是否在重新启动时丢失。您可以使用会话并保存自己的数据库调用 - 但数据库更清洁,并且不会遇到同样的问题。如果你最终使用会话,不要在你的代码中传播那个会话值,只需要一个读取或设置它的方法(与db解决方案相同)