2012-07-26 50 views
0

我們的服務器上有一個ASP.net Web服務(.asmx),我們的客戶之一用它來從我們那裏獲取數據。服務器上的ASP.net Web服務有時不會加載

他們一直在抱怨不時出現的超時問題。我決定查看我的代碼,看看是否有什麼可能導致問題。

我使用我的Internet Explorer瀏覽了我們的.asmx網址,看到它一直在加載。這是我第二次注意到這種情況。我只是無法連接到.asmx頁面。我沒有收到錯誤消息,只是繼續加載。

現在顯然,這將導致其客戶端程序超時錯誤,因爲服務無法訪問。任何想法爲什麼會發生這種情況?

此外,通常存儲在服務器上的asp.net錯誤日誌在哪裏?它是否與.asmx在同一個目錄中?這些錯誤日誌會自動生成,還是我必須把東西放在我的代碼?

編輯:忘了提及我的Web服務所在的服務器是基於Linux的服務器。我不得不使用MonoDevelop來打包它。

回答

1

查看服務器上的應用程序事件查看器。如果在服務級別發生任何錯誤,您會在那裏看到它們。超時過程可能很難調試。如果存在其他應用程序池正在爭奪的服務器資源,則該應用程序可能會受到影響。我會首先查看服務器的內存和CPU的進程使用情況。如果一切看起來都很好,請查看IIS並查看其他應用程序駐留在您的服務中。如果它在那裏都很好,那麼我會查看你的代碼以獲得長時間運行的可能性。

+0

忘了提及,這是運行在基於Linux的服務器上。我會將這添加到我的問題中。 – PaulG 2012-07-26 19:08:34

+0

同樣的建議,只需切換Apache的IIS並切換httpd進程的應用程序的概念。由於所有Apache(通常)都在一個進程下運行,請在調用服務之前和之後檢查httpd的內存使用情況。另外,httpd.log會有超時等信息。 – Josh 2012-07-26 19:11:09