我在Azure网站上运行webapi,调用外部Web服务。 webapi每分钟处理大约2K-3K的请求。
定期发生大量套接字错误,表明:"尝试以其访问权限禁止的方式访问套接字"。无论外部Web服务的IP地址如何,都会出现此错误。
起初,我认为这可能是短暂的端口耗尽,但我已经限制了#34; connectionManagement"最多100个连接。
导致这种情况的原因是什么?
非常感谢。很高兴提供可能有用的任何信息。
更新6/1: - 每6/2不起作用
我将以下内容添加到我的web.config system.net部分:
<defaultProxy enabled="false" useDefaultCredentials="false">
<proxy/>
<bypasslist/>
<module/>
</defaultProxy>
似乎有帮助,因为我在过去6小时内没有看到这个问题。我不知道为什么这会有所帮助,因为我没有使用任何代理相关的东西。
有什么想法吗?
更新6/2:
添加defaultProxy实际上似乎没有帮助。问题仍然存在。回到绘图板。
答案 0 :(得分:2)
我终于弄明白了这个问题的原因。问题是由于港口耗尽而发生的。
我使用的是NLog电子邮件目标,它随着时间的推移抓住了太多的SMTP连接(尽管有100个最大连接限制)。删除电子邮件目标后,不再出现此问题。我还没弄清楚为什么NLog会出现这种行为。