我有一個在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可能會被覆蓋嗎? –