2009-05-01 122 views
2

我正在調試接收請求「突發」的ASMX Web服務。即很可能網絡服務將在大約1或2秒內收到100個異步請求。每個請求似乎需要大約一秒的時間來處理(這是預期的,我對此性能還可以)。然而重要的是,每個請求都是按順序處理的,不會發生並行處理。由於Web服務調用的外部組件,我不希望任何併發請求處理。有什麼辦法可以強制Web服務只處理每個響應?強制asmx web服務一次處理一個請求

我已經看到machine.config中的maxconnection屬性,但這似乎只適用於出站連接,因爲我希望限制傳入連接。

請注意,重構到WCF不是此時的選項。

我們在Win2003上使用IIS6。

+0

@Alex:這些答案有幫助嗎?你應該對那些有幫助的人進行補充,以便後來閱讀這個問題的人會知道哪些是有用的答案。 – 2009-08-19 22:25:35

+0

不是。我正在尋找IIS6在這種情況下行爲(或可能被迫行爲)的細節。 在這種情況下,編程解決方案對我來說並不好,而且我無法升級到IIS 7. – Alex 2009-08-20 10:23:26

+0

IIS與此問題無關。除了將請求傳遞給ASP.NET之外,它不涉及。 – 2009-08-20 18:53:38

回答

0

也許你應該在內部排隊請求並逐個處理它們?

這可能會導致客戶端輪詢結果(如果他們甚至需要它們),但你會得到連續的管道,你想......

0

在IIS7,您可以設置允許連接的限制一個網站。你可以使用IIS7嗎?

0

我在過去所做的就是簡單地將鎖語句放在對我正在使用的外部資源的任何訪問中。就我而言,它是一段聲稱是線程安全的非託管代碼,但實際上,如果從一個以上的線程訪問C運行時庫堆,它實際上是垃圾。

相關問題