【问题标题】:Save data from Web Service Calls to use in next service calls保存来自 Web 服务调用的数据以在下次服务调用中使用
【发布时间】: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


【解决方案1】:

Most of what you need is here。对于真正的持久性,您可能应该将其存储在某种数据库中,这样您就不会被要求处理特定的持久性。

【讨论】:

  • 真棒贾斯汀...我刚刚使该变量静态并且它对我来说工作正常...非常感谢...:D
【解决方案2】:

我认为您想要的是您的网络服务的实例管理器。实施起来并不太难,并且会完成您尝试做的事情。

这是一个链接:http://msdn.microsoft.com/en-us/magazine/cc163590.aspx

【讨论】:

  • 嗨,我刚刚将变量更改为静态并且它工作正常。感谢您的回复.. :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 2014-07-26
相关资源
最近更新 更多