WebListenerException:指定的网络名不再可用

本文关键字:不再 网络 WebListenerException | 更新日期: 2023-09-27 18:17:44

我的MVC 6 (beta 7)项目日志中有一个奇怪的异常:

01:29:55.8657 Error Flush
System.IO.IOException ---> Microsoft.Net.Http.Server.WebListenerException: The specified network name is no longer available
   --- End of inner exception stack trace ---
01:29:55.8901 Error ProcessRequestAsync
System.IO.IOException ---> Microsoft.Net.Http.Server.WebListenerException: The specified network name is no longer available
   --- End of inner exception stack trace ---
   at Microsoft.Net.Http.Server.ResponseStream.FlushInternal(Boolean endOfRequest)
   at Microsoft.Net.Http.Server.ResponseStream.Dispose(Boolean disposing)
   at System.IO.Stream.Close()
   at Microsoft.Net.Http.Server.Response.Dispose()
   at Microsoft.Net.Http.Server.RequestContext.Dispose()
   at Microsoft.AspNet.Server.WebListener.MessagePump.<ProcessRequestAsync>d__23.MoveNext()

我发现这些错误在MVC 6之外(第一个链接,第二个链接)

但是在我的例子中,异常的来源是Microsoft.Net.Http.Server.ResponseStream.FlushInternal方法。

该错误不会中断应用程序。它发生在一些查询之后(我没有注意到一个模式),并且很少。

为什么我的日志中周期性地出现这个错误?

我能采取什么措施来避免错误吗?

谢谢!

WebListenerException:指定的网络名不再可用

听起来像是客户端在发送响应之前断开了连接。如果不写入套接字,这可能很难检测到。我们有一个(私有的)工作项来弱化日志中的这些错误消息。