2012-04-02 64 views
3

這是爲了尋找我在技術討論中遇到的問題的答案。asp.net如何處理併發用戶請求?

在旅遊預訂網站上有50張票可用。 現在只剩下一張票了.2個用戶同時打到web服務器, 考慮到asp.net可以處理併發請求。 q)。

q。 1)asp.net如何處理這個請求?

2)有一種方法讓用戶之一獲得最後一張票。它是什麼?

我覺得深入理解asp.net體系結構是需要回答這個問題的。

任何人都可以給我一些見解。

感謝 SNA

+0

我從他的討論聽到自己是,很多旅遊網站由於某種原因(可能會在執行時缺少的東西)人調整http get post)並獲得票。 – SNA 2012-04-02 07:02:44

回答

4

1)ASP .NET如何處理這個請求?

同時。

2)有一種方法讓用戶之一獲得最後一張票。它是什麼?

這將取決於你的意思是得到票。如果通過獲取票據,您的意思是更新數據庫中的字段,那麼取決於數據庫來處理這個問題。如果使用事務,那麼可能是第一個啓動UPDATE的SQL查詢將成功,如果您在數據庫級別使用某種約束,則第二個將失敗。但是,所有這一切都將取決於具體的實施。

+0

如果兩個用戶同時訪問服務器。由於asp.net同時處理請求,所以更新狀態的查詢(可能預訂= true類似)將initaite.if它查詢哪個用戶查詢優先? asp.net如何決定這個? – SNA 2012-04-02 07:08:12

+2

@SNA,ASP.NET不認爲。它並行執行兩個請求。如果在您使用ADO.NET連接到數據庫的代碼中,所有這些都取決於數據庫在發出2個併發SQL請求時的行爲方式。這實際上與ASP.NET無關。 – 2012-04-02 07:14:54

+0

謝謝。我明白了。 – SNA 2012-04-02 07:18:18

2

在這種情況下,您不應該擔心前端併發問題,IIS會爲您解決這個問題。更重要的是適當的數據庫實現與精心挑選的事務隔離級別,死鎖處理等。