【发布时间】:2013-05-28 13:25:00
【问题描述】:
我最近一直在研究一个奇怪的问题,正在寻找一些答案
在 Asp.Net 4.0 Web 应用程序中,我有一个接受对象作为输入参数的方法,现在我正在使用 10 个用户在下面的代码上运行负载测试,虽然我这样做了,但我得到了 if 条件满足少数情况不应该如此。这意味着我来自不同用户的数据混合在一起会导致不良结果。这是在我的本地机器和托管服务器中 - 两者都是虚拟机。
Private SampleClass b
Public void DoWork(int a,SampleClass obj)
{
try
{
b=obj;
if(b.id !=obj.id)
{
throw new Exception("Error");
}
}
catch(Exception ex)
{
}
}
请在这里帮助我...
【问题讨论】:
-
您的问题到底是什么? ID是什么类型的?它是如何获得第一个值的?
-
由于缺乏细节无法回答。最佳猜测:您在某处有一些
static数据。 -
我在任何地方都没有静态数据,我已经检查过了,id 的数据类型是整数...我在 aspx 中分配它并简单地发送它
-
对您的帖子进行编辑并添加 SampleClass。像这样不可读。还要添加一个适当的问题
-
根据所提供的信息很难判断。我最好的猜测是,不知何故,您正在使用包含上述方法的类的同一实例,并且您遇到了竞争条件。
标签: c# asp.net multithreading virtual-machine