c# - 代码如何在 WebService 中运行?

标签 c# asp.net web-services

我目前正在开发一个 WebService,旨在供许多不同的瘦客户端使用。到目前为止,我一直在使用 1 个网站作为客户端对其进行测试。

我的问题是,Web 服务有正确的类。当有人登录到使用网络服务的网站时,是否为使用它的人实例化了主类?

例如在调试期间我有 1 个客户端。

  1. 服务以实例化为“Hello World”的变量开始,客户端从服务中请求字符串,然后将其发回。
  2. 该服务随后更改了一个内部 变量等于发送的变量 由客户。那时候的服务 将 2 添加到末尾,因此变量 现在是“Hello World 2”。
  3. 客户要求更新 字符串,并获取 Hello World 2。
  4. 另一个用户登录。他们要求 字符串,期待 Hello World 但是得到 Hello World 2。现在当 发回他们得到 Hello World 2
    1. 这是一个不受欢迎的结果,也是我要避免的。

我该怎么做?

最佳答案

如果您希望为新客户端重置状态,则需要跟踪哪些客户端已连接并适本地为它们提供数据。这可能需要调用来设置 session ,以便您可以将 token 分配并返回给客户端,然后将其用于所有后续调用。

另一种方法是使用 WCF 编写您的服务,然后使用 PerSession InstanceContextMode,这将为每个 session 构造一个新的服务对象。在这种情况下,您仍然需要指明哪些调用开始 session ,哪些调用结束 session 。有关更多信息,请参阅 here .

关于c# - 代码如何在 WebService 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6021703/

相关文章:

c# - 实体中的业务逻辑并注入(inject) DbContext

asp.net - 在 "insert mode"中时,在将详细信息 View 插入数据库之前修改已编辑的字段

c# - 在ASP.Net中,同组的单选按钮会自动改变Checked状态吗?

java - XmlBeans 与 Axis for Web Service 客户端 stub

web-services - 通过 Tomcat 部署网站和 axis2 网络服务的最佳方式?

c# - 在 C# 中旋转多列

c# - 如何配置T4模板在不同项目中生成类

javascript - 在 ASP.NET 中,如何在客户端 Hook 回发事件

php - 在 PHP 中搜索 Google Play 应用程序?

c# - Xamarin.Forms 上的音乐文件节奏和强度检测