2013-02-18 74 views
0

我正在开发一个c#项目,在那里我开发了一个web服务。它连接到读卡器设备。连接建立后,它会创建一个会话ID。当创建一个会话ID时,我应该锁定设备,并在当前会话发布之前停止创建更多会话。保存来自Web服务的数据调用以用于下一个服务调用

当我使用设备创建会话时,我将会话ID存储在私有变量中。我让我的程序在创建下一个会话之前检查这个变量。但是当我下次调用Web服务来创建另一个会话时,它不包含变量值并为我创建另一个会话。

我很困惑,该怎么做。有什么方法可以保存下次调用Web服务时可用于交叉检查的数据吗? Cookies或注册表更新?请任何解决方案..

+0

什么样的程序,这是? Windows窗体程序或ASP.NET程序?特别是,如果它是一个获取多个用户的程序,那么将在所有用户中共享一个“静态”。如果它获得多个线程,那么'static'将被多个线程同时访问,这可能不是你想要的。 – 2013-02-19 01:47:39

+0

其实这就是我想要的。一旦变量设置为会话ID,它不会允许任何其他设备连接到阅读器。直到本届会议发布。 (当释放发生时,我将重置变量。)即使设备获得多个请求,这也可以工作。一旦我释放设备,它将会再次开放以进行新的会话。 – Newbee 2013-02-19 10:23:07

回答

1

Most of what you need is here。对于真正的持久性,你可能应该把它存储在某种数据库中,这样你就不会承担特定的持久性。

+0

真棒贾斯汀...我只是让变量静态和它对我工作很好......非常感谢...... D – Newbee 2013-02-18 21:22:03