【发布时间】:2013-02-18 21:03:48
【问题描述】:
我正在开发一个 web 服务的 c# 项目。它连接到读卡器设备。建立连接后,它会创建一个会话 ID。当创建一个会话 ID 时,我应该锁定设备并停止创建任何更多会话,直到当前会话被释放。
当我与设备创建会话时,我将会话 ID 存储在私有变量中。在创建下一个会话之前,我让我的程序检查这个变量。但是当我下次调用 Web 服务来创建另一个会话时,它不包含变量值并为我创建另一个会话。
我不知道该怎么办。有什么方法可以保存可用于交叉检查下一次调用 Web 服务的数据? Cookie 或注册表更新?请任何解决方案..
【问题讨论】:
-
这是什么程序? Windows 窗体程序还是 ASP.NET 程序?特别是,如果它是一个获得多个用户的程序,那么
static将在所有用户之间共享。如果它得到多个线程,那么static将被多个线程同时访问,这可能不是你想要的。 -
其实这就是我想要的。一旦变量设置为会话 ID,它就不允许任何其他设备连接到阅读器。直到当前会话被释放。 (当发布发生时,我将重置变量。)即使设备收到多个请求,这也将起作用。一旦我释放设备,它将再次打开新会话。
标签: c# .net web-services rest