我在加载工单页面时遇到问题。
当我加载页面时,我只是传递工作单的ID.aspx?inspectionid = 12345
现在在计算机1上我正在加载 WO.aspx?inspectionid = 1
现在在计算机2上我正在加载 WO.aspx?inspectionid = 2
要重现我的问题,请在同一时间点击每台独立计算机上的相应检查(尽可能接近手动同时点击)
现在,当我在代码中调试LoadWorkOrder函数时,它会调用存储过程并填充数据集。现在,在第一个调用完成并加载页面的其余部分之前,我看到我的第二个调用已经命中了我的LoadWorkOrder函数,从而导致其中一个页面出错。
所以我的问题是,有没有办法在同一个函数上正确处理多个调用。这是与线程相关的问题吗?我甚至不确定要谷歌帮助解决我的问题。
private void LoadWorkOrder()
{
//Bizlogic.cInspectionsBizLogic.GetInspection(dstInspection, mintInspectionID);
dstInspection = new cInspectionsDST();
Bizlogic.cInspectionsBizLogic.GetInspection(ref objDataAdapterForUpdate, dstInspection, mintInspectionID);
if (dstInspection != null && dstInspection.Tables[0].Rows.Count > 0)
{
Bizlogic.cSchedulerDST dstItem = new cSchedulerDST();
dstItem = Bizlogic.cSchedulerBizLogic.GetScheduleItemForInspectionID(mintInspectionID);
LoadInspectionAddressHeader();
我在这里看不到任何特别的东西,它只是一个简单的数据集加载。我做的错误消息似乎是“在0位没有行”。在我的cInspectionsDST.Designer.cs文件中。这些DataSet是在我继承的Visual Studio中创建的,所以很遗憾不能改变它们。
答案 0 :(得分:0)
dstInspection是一个静态变量,一旦我删除它并重新编写代码我不再有这个问题