2015-05-21 16 views
6

我在調用外部Web服務的Azure網站上運行webapi。 webapi每分鐘處理大約2K-3K的請求。嘗試以Azure Web Apps中的訪問權限禁止的方式訪問套接字

定期發生大量套接字錯誤,表明:「試圖以訪問權限禁止的方式訪問套接字」。無論外部Web服務的IP地址如何,都會發生此錯誤。起初,我認爲這可能是短暫的端口耗盡,但我已將「connectionManagement」限制爲最多100個連接。

這會導致什麼?

非常感謝。樂於提供任何可能有用的信息。

更新6/1: - 每6/2

不起作用添加以下到我的web.config system.net部分:

<defaultProxy enabled="false" useDefaultCredentials="false"> 
    <proxy/> 
    <bypasslist/> 
    <module/> 
</defaultProxy> 

這似乎已經幫助因爲我在過去的6個小時內沒有看到這個問題。我不知道爲什麼這會實際上幫助,因爲我沒有使用任何代理相關的東西。

有什麼想法?

更新6/2:

添加defaultProxy實際上並沒有出現,以幫助。問題仍在發生。回到繪圖板。

+0

你有沒有發現錯誤是什麼?我想我可能會遇到類似的事情。 –

+0

我還沒有想出這個問題。它絕對看起來與Azure網站相關。當我將代碼切換到AWS時,一切正常。 – Jonathan

+0

我發現在改變網站的大小,這迫使它從一個不同的VM服務,這個問題消失了幾天... –

回答

2

我終於弄清楚了這個問題的原因。這個問題是由於港口枯竭而發生的。

我正在使用一個NLog電子郵件目標,它抓住並持續太多SMTP連接(儘管最大連接數限制爲100)。刪除電子郵件目標後,問題不再發生。我還沒有弄清楚Nlog爲什麼要展示這種行爲。

+0

你是如何調試的?遇到完全相同的問題,但看起來不像nlog相關。 – Freek

+1

我在這裏有一篇博客文章:http://www.freekpaans.nl/2015/08/starving-outgoing-connections-on-windows-azure-web-sites/ – Freek

相關問題