2011-02-24 58 views
3

我們可以認爲兩個客戶端同時訪問同一個Web服務的方法是兩個線程(涉及到所有問題......)?
對於asp.net web應用程序中的方法它是一樣的嗎?客戶可以被視爲線程嗎?

回答

1

這取決於。看到我的回答Why are these asynchronous RIA Service calls executed in serial on the web server?。它受ServiceBehaviourAttribute,InstanceContextModeConcurrencyMode兩個屬性的控制。


在一個asp.net web應用程序中,來自多個客戶端的請求將傾向於在平行於被處理,除非(理由很奇怪)兩個客戶端共享相同的會話,並且這兩個請求是對頁面標記爲需要會話(這是我相信的默認設置),在這種情況下,這兩個請求將被序列化。

2

只要您不使用基於靜態的static或其他共享對象,代碼中就沒有多線程問題。但是,您需要考慮資源(即文件)。

每個請求都由一個專用線程處理,該線程一旦完成服務請求就返回線程池。

+0

我是否需要將數據庫視爲資源?那麼請注意由「自動線程」引起的可能死鎖? – Spilarix

相關問題