2011-05-23 52 views
1

這是可能應該如此服務器故障的其中一個問題,但也可能存在代碼級解決方案。經過身份驗證的用戶和多個請求(IIS7 MVC3)

無論如何,這是問題。我有一個常規的MVC3應用程序,它需要用戶登錄才能訪問(在大多數操作中使用Authorize標籤)。我還在應用程序中有一個Silverlight對象,它使得HTTP GET調用返回一個圖像的控制器動作(事實上這是一個地圖圖塊)。 此特定控制器操作沒有授權標記,因此是公開的。

Silverlight組件運行緩慢或僅阻止,因爲MVC應用程序一次只能處理一個請求,如螢火蟲所確認的那樣。這意味着地圖圖塊可以一個接一個地投放。此外,定期(非地圖相關)請求也會排隊等待一段時間。

因此,爲了進行測試,我使用相同的文檔根目錄設置了另一個網站,並且我指示Silverlight組件從此處讀取拼貼。現在瓷磚被同時請求並且運行平穩。

那麼,有什麼辦法來解決這種情況,只使用一個網站?

+0

雖然我沒有嘗試過(所以沒有把它作爲答案)是否沒有辦法讓MVC線程發出多個請求? – BugFinder 2011-05-23 07:43:43

回答

2

如果您在服務器上使用會話操作,可以解釋請求排隊的原因。由於會話不是線程安全的,因此ASP.NET將對來自同一會話的所有請求進行序列化,並且executes them sequentially

+0

Awww,謝謝!我不知道這種副作用。 – Palantir 2011-05-23 07:50:36

相關問題