我的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
(the fist link,the second link)
但在我的情况下,异常的来源是Microsoft.Net.Http.Server.ResponseStream.FlushInternal
方法。
错误不会中断应用程序。它发生在一些查询之后(我没有注意到模式),并且很少。
为什么我的日志中会定期发生此错误?
我可以采取任何措施来避免错误吗?
谢谢!
答案 0 :(得分:1)
这听起来像是在发送响应之前客户端断开连接。没有写入套接字就很难检测到。我们有一个(私有)工作项来在日志中不再强调这些错误消息。