2017-09-19 126 views
0

我有一个在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”。

我应该在代码中更改什么,以防止多个用户在同一时间更新数据时出现此类问题。

+0

你说的话是不应该的。每篇文章都被视为差异请求。你有没有在你的web服务中使用任何静态变量? –

+0

我没有任何静态字段,但我从HttpContext.Current.Session获取会话值。当两个并发请求来临时,HttpContext.Current.Session可能会被覆盖吗? –

回答