我有一个在ASP.NET中设计的应用程序,它正在使用asmx web服务。我没有使用任何回发,但通过jQuery调用页面方法。并在后面的代码中调用Web服务。请参见下面的示例调用:当有较少的用户访问应用程序的数量并发ASP.NET请求asmx 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”。
我应该在代码中更改什么,以防止多个用户在同一时间更新数据时出现此类问题。
你说的话是不应该的。每篇文章都被视为差异请求。你有没有在你的web服务中使用任何静态变量? –
我没有任何静态字段,但我从HttpContext.Current.Session获取会话值。当两个并发请求来临时,HttpContext.Current.Session可能会被覆盖吗? –