C# Owin自托管WebApi超时设置
我有一个Owin自托管web api服务器,我想知道当有大量文件下载时是否需要更改超时设置? 我使用的客户端读取带有HttpCompletionOption.ResponseHeadersRead的响应 在调试过程中,当我在断点中停止一段时间后,在尝试读取接收到的流时,客户端出现异常: 无法从传输连接读取数据:远程主机强制关闭了现有连接。 调试时,我可以重现此问题。它发生在对服务器的Get请求返回后,大约30秒的断点等待后C# Owin自托管WebApi超时设置,c#,timeout,asp.net-web-api,owin,C#,Timeout,Asp.net Web Api,Owin,我有一个Owin自托管web api服务器,我想知道当有大量文件下载时是否需要更改超时设置? 我使用的客户端读取带有HttpCompletionOption.ResponseHeadersRead的响应 在调试过程中,当我在断点中停止一段时间后,在尝试读取接收到的流时,客户端出现异常: 无法从传输连接读取数据:远程主机强制关闭了现有连接。 调试时,我可以重现此问题。它发生在对服务器的Get请求返回后,大约30秒的断点等待后 这是由于某种空闲超时造成的,因为我保留了一个断点,不处理接收到的流吗?或
这是由于某种空闲超时造成的,因为我保留了一个断点,不处理接收到的流吗?或者,当我的收藏速度慢且耗时太长时,我在阅读流时也会发生这种情况吗?这是一个非常古老的问题,但可能会帮助那些遇到同样问题的人。 我对流媒体内容也有同样的问题,并在
HTTPERR
文件夹(C:\Windows\System32\LogFiles\HTTPERR)
Owin
HttpListener
有一个TimeOutManager
属性,允许您更改大多数超时/限制。我发现获取我的webappHttpListener
实例的唯一方法是访问其属性
var listener = (OwinHttpListener);
app.Properties["Microsoft.Owin.Host.HttpListener.OwinHttpListener" ]);
listener.Listener.TimeoutManager.MinSendBytesPerSecond = uint.MaxValue;
根据owin
codebase,uint.MaxValue
asMinSendBytesPerSecond
只会禁用该标志
var listener = (OwinHttpListener);
app.Properties["Microsoft.Owin.Host.HttpListener.OwinHttpListener" ]);
listener.Listener.TimeoutManager.MinSendBytesPerSecond = uint.MaxValue;