Dan*_*elG 5 c# timeout asp.net-web-api owin
我有一个Owin自托管的Web-api服务器,我想知道当下载大量文件时是否需要更改超时设置?我正在使用的客户端使用HttpCompletionOption.ResponseHeadersRead读取响应。
在调试期间,在断点处停顿了一段时间后,尝试读取接收到的流时,客户端出现异常:
无法从传输连接中读取数据:远程主机强行关闭了现有连接。
在调试时,我可以重现此问题。在返回到服务器的Get-Request之后,在断点处等待了大约30秒之后,就会发生这种情况。
这是由于某种空闲超时导致的,因为我处于断点状态,无法在接收到的流上工作吗?还是我的收藏收集速度太慢且时间太长时,我正在从流中读取时也会发生这种情况吗?
小智 3
很老的问题,但可能会帮助遇到同样困难的人。HTTPERR我在流媒体内容方面遇到了同样的问题,并在文件夹内找到了最初的线索(C:\Windows\System32\LogFiles\HTTPERR)
2016-08-12 09:17:52 ::1%0 60095 ::1%0 8000 HTTP/1.1 GET
/endpoint/audiostream/0/0/streamer.mp3 - - - Timer_MinBytesPerSecond -
2016-08-12 09:18:19 ::1%0 60118 ::1%0 8000 HTTP/1.1 GET
/endpoint/audiostream/0/0/streamer.mp3 - - - Request_Cancelled -
Run Code Online (Sandbox Code Playgroud)
Owin HttpListener有一个TimeOutManager属性允许您更改大多数超时/限制。我发现获取 webappHttpListener实例的唯一方法是访问其属性
var listener = (OwinHttpListener);
app.Properties["Microsoft.Owin.Host.HttpListener.OwinHttpListener" ]);
listener.Listener.TimeoutManager.MinSendBytesPerSecond = uint.MaxValue;
Run Code Online (Sandbox Code Playgroud)
根据owin代码库,uint.MaxValueasMinSendBytesPerSecond只会禁用该标志。
| 归档时间: |
|
| 查看次数: |
2366 次 |
| 最近记录: |