2011-06-25 52 views
0

我有一個web應用程序在IIS 7.5的本地實例中運行。我的應用程序池擁有最大工作進程數爲3.當我進入Vs2008並將我的調試器附加到本地IIS時,我會看到三個w3wp.exe進程。我重視所有三個。按照預期,當我運行網頁時,我的斷點會在我的代碼中彈出。從VS2008網站調試IIS時沒有響應

問題出在這裏:在我的C#代碼背後的代碼中,調用另一臺計算機上的服務,該計算機又將請求發送回本地IIS框。這全是同步的。問題是,當我在調試器中時,似乎遠程代碼對我的IIS框的調用立即失敗。如果我在調試時繼續使用該遠程盒子,並嘗試從本地盒子中拉出任何URL,則會掛起。而且,只要我在VS2008中點擊F5,瀏覽器就會釋放並滿足請求。

那麼爲什麼VS2008調試器會導致IIS不使用任何其他工作進程來處理其他輸入請求?

感謝您的任何想法。

+0

它的時間使用Debug.Write – Aristos

回答

2

在調試任何進程時 - 全部線程掛起。

所以你描述的是預期的行爲。您正在調試IIS中的線程,整個過程會一直掛起,直到您按下F5並將控制權返回給進程。

+0

我認爲我上面的措辭選擇可能是令人困惑的事情。讓我重新說明:我的應用程序池中的「Maximium Worker PROCESSES」設置爲3.因此,有三個EXE正在運行(w3wp.exe),我可以附加到該程序。所以,首先,如果我在調試一個PROCESS,那麼我不確定爲什麼其他兩個進程沒有提供第二個請求。其次,我不明白你說什麼時候停止一個線程停止整個過程,我做了很多多線程開發,這肯定不是這種情況,你可以在VS調試器中凍結和解凍線程。 – sisdog

+0

我的意思是,當你停在一個斷點上時,所有其他線程都沒有運行的背景。 – Maxim