我在服务器端发布了一个WS,用于简单的业务逻辑的处理,传递几个参数值,返回一个字符串。
原来用户少的时候一切正常,这两天用户多了突然发现一个很严重的问题,客户端得到的返回值不是正确的结果,而是别人传出去的参数得到的字符串,这样一来,张三的结果传给了李四,李四的传给了王五,王五的又不知道被谁接收走了……
我猜测是不是我没有考虑Method在并发时候的处理,恳请高手指点。
------解决方案--------------------
帮顶:)
------解决方案--------------------
因该是并发的问题,或许你的函数种有静态的变量,导致了并发时候传递的结果出现错误
------解决方案--------------------
应该是静态变量的问题,请在相关方法中使用Lock关键字锁定变量。
------解决方案--------------------
清一下缓存
------解决方案--------------------
帮顶,有兴趣
------解决方案--------------------
关注......
------解决方案--------------------
慎用static
------解决方案--------------------
关注一下ws
------解决方案--------------------
应该是变量范围的问题
------解决方案--------------------
GetData方法不会发生你的说的问题
------解决方案--------------------
使用前检查是否被占用
------解决方案--------------------
顶过,ws里面是可以控制事务处理的。
------解决方案--------------------
Dim st As New Stream
st.Flush()
st.Position = 0
st = response.GetResponseStream()
这样试试呢?总觉得是Stream的问题