并发ASP.NET请求asmx Web服务

时间:2017-09-19 10:58:59

标签: jquery asp.net

我有一个在ASP.NET中设计的应用程序,它正在使用asmx Web服务。我没有使用任何回发,但通过jquery调用页面方法。在后面的代码我调用Web服务。请参阅下面的示例调用:

$.ajax({
                type: 'POST',
                contentType: "application/json; charset=utf-8",
                dataType: 'json',
                data: JSON.stringify({ 'loginId': loginId, 'password': pass}),
                url: 'Default.aspx/VerifyLogin',
                success: function (d) {
                    debugger;
                    if (d.d == 'OK') {
                        window.location = "Home.aspx?uq=" + d.d;
                    }
                    else {
                        alert("Username/Password missing or wrong");
                    }
                },
                error: function (err) {
                    debugger;
                    alert(error);
                }
            });

当访问该应用程序的用户数量较少时,一切正常。

我的用户正在根据其他一些数据将一些数据插入数据库。当多个用户访问该应用程序时,存在数据不匹配的问题。假设“X”正在更新数据,表示“A”,另一个用户“Y”更新数据表示“B”,则数据“A”的创建或更新将更改为“Y”。

当多个用户同时更新数据时,我应该在代码中进行哪些更改以防止出现此类问题。

1 个答案:

答案 0 :(得分:0)

您必须使用时间戳来更新数据或乐观并发 请参阅以下链接

https://www.codeproject.com/Articles/4811/ASP-NET-Optimistic-Concurrency-Control