尝试以Azure Web Apps中的访问权限禁止的方式访问套接字

Jon*_*han 7 sockets azure asp.net-web-api azure-web-sites

我在Azure网站上运行webapi,调用外部Web服务.webapi每分钟处理大约2K-3K的请求.

定期发生许多套接字错误,表明:"尝试以其访问权限禁止的方式访问套接字".无论外部Web服务的IP地址如何,似乎都会发生此错误.

起初,我认为这可能是短暂的端口耗尽,但我将"connectionManagement"限制为最多100个连接.

会导致什么?

非常感谢.很高兴提供可能有用的任何信息.

更新6/1: - 每6/2不起作用

我在web.config system.net部分添加了以下内容:

<defaultProxy enabled="false" useDefaultCredentials="false">
   <proxy/>
   <bypasslist/>
   <module/>
</defaultProxy>
Run Code Online (Sandbox Code Playgroud)

它似乎有帮助,因为我在过去6小时内没有看到这个问题.我不知道为什么这会有所帮助,因为我没有使用任何代理相关的东西.

有什么想法吗?

更新6/2:

添加defaultProxy实际上似乎没有帮助.问题仍然存在.回到绘图板.

Jon*_*han 3

我终于弄清楚了这个问题的原因。该问题是由于端口耗尽而发生的。

我使用的是 NLog 电子邮件目标,随着时间的推移,它会抓取并保留过多的 SMTP 连接(尽管有 100 个最大连接限制)。删除电子邮件目标后,该问题不再出现。我还没有弄清楚为什么 NLog 会表现出这种行为。

  • 我在这里有一篇关于此的博客文章:http://www.freekpaans.nl/2015/08/starving-outgoing-connections-on-windows-azure-web-sites/ (2认同)