0
我有一个最近开始遇到问题的Web表单应用程序。应用程序部署在SharePoint上。我们有多个用户将数据输入到调度程序中。在多个用户之间传递页面间参数
每个用户都有权访问不同的设施,我一直在使用HttpRuntime.Cache["FacN"]
值将设施号传递给用户。
在调度程序窗体上,我通过将隐藏字段设置为该缓存值来过滤LinqToSql连接。调度程序应该只显示该设施的数据。
它工作正常,直到我们有几个用户在同一时间输入数据(在IE,SharePoint服务器)。如果2个用户同时输入数据 - 那么他们会看到来自不同设施的事件。
我也试过使用HttpContext.Current.Session["FacN"]
- 但在那种情况下,它并没有保留设施的价值。请告诉我如何通过设施参数?
缓存是所有用户共享的,这就是它的目的。会话是针对每个用户的,但是您需要确保实际识别用户,以便他们在下一次操作中恢复会话。阅读会话如何工作以及需要做什么才能使其工作。 –
谢谢。我们使用的是SharePoint,既不是cookies也不是会话。我不知道还有什么可以尝试的。我已将它切换为使用查询字符串,但需要找到一种方法将参数传递回默认页面而不使用查询字符串。 – Alla
我认为会话状态是正确的使用方法,所以我建议试着弄清楚为什么它不适合你。从https://msdn.microsoft.com/en-us/library/ff648090.aspx开始阅读文档可能会为您提供一些线索。 –