我已经实现了具有方法 s1 和方法 s2 的 ac# wcf 服务。方法 s1 是执行处理的主要过程,方法 s2 是辅助方法,它基于两个静态 int 变量(总计、当前)跟踪方法 s1 的状态。
total ----> indicates the total number of tasks.
current-----> indicates the current task that is being processed.
我还创建了 3 个异步调用 Web 服务的 c# 客户端。下面提到的这些是客户端方法。
client1: c11,c12
client2: c21,c22
client3: c31,c32
所有这 3 个客户端方法都并行调用服务。所以现在我的问题是 2 个变量 total 和 current 是静态变量。当所有三个客户端同时调用服务时,总值和当前值被混合在一起,而不是为每个客户端分开。
例如,在正常的合格场景中,它们应该是这样的:
client1: (total,current)------>(3,1)(3,2)(3,3)
client2: (total,current)------>(2,1)(2,2)
client3: (total,current)------>(4,1)(4,2)(4,3)(4,4)
但是现在我的常规情况是,我将所有值混合在一起,因为对于任何应该相同的客户端,总变量值不应该更改。因为这两个变量 total 和 current 将在我的 wcf 应用程序中被访问并且会被修改,所以我在一个类中将它们设置为静态,以便它们可以作为全局变量,并且可以通过我想要在 wcf 中的任何位置通过类名访问程序。所以我无法弄清楚如何解决这个问题,任何人都可以帮忙。