2010-09-01 31 views
4

我們在IIS 6中託管了一個ASMX Web服務,並且正在使用我們的WebMethod之一看到一些奇怪的行爲。在iisreset之後,對特定方法的第一次調用無法返回到客戶端,該客戶端在60秒後超時。何時可能不會調用Application_EndRequest?

我在Global.asax.cs文件中引入了登錄到Application_BeginRequestApplication_EndRequest。記錄顯示,對於那個調用,EndRequest不被調用。方法中的try-finally塊表明它正在運行完成。

在此之前,期間和之後,還有其他一些要求不同的方法顯示沒有問題。 TcpTrace顯示沒有任何答覆會返回該方法的第一個請求。

日誌還顯示在finally塊完成後,服務請求的線程開始服務其他請求。

我想知道什麼可能會導致此類行爲,以及我如何進一步調試。

回答

0

一些建議: 把你記錄下: Application_AuthenticateRequest 的Application_Error ,看看你得到任何錯誤。

如果這不能幫助,請檢查您的應用程序域的和IIS的事件日誌

1

假設這是完全重複的,我會通過改變方法來啓動。即我會刪除的東西,直到它按預期工作。

這聽起來像是由網絡方法本身引起的一些奇怪的次要行爲。我猜測這比將兩個數字加在一起並返回結果要複雜一點。

另外我會密切關注該方法在做什麼。例如,它是否實例化非託管資源?你有沒有任何http處理程序或模塊可能在這個方法的第一次執行過程中陷入困境?

通過消除代碼,直到它的工作,你會弄清楚究竟是什麼造成了這一點。

相關問題