加载两个不同会话的数据集

时间:2014-02-25 15:19:37

标签: c# asp.net

我在加载工单页面时遇到问题。

当我加载页面时,我只是传递工作单的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中创建的,所以很遗憾不能改变它们。

1 个答案:

答案 0 :(得分:0)

dstInspection是一个静态变量,一旦我删除它并重新编写代码我不再有这个问题