el_*_*yan 12 c# httpwebrequest async-await
当我尝试以下代码时:
var request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Timeout = 3; // a small value
var response = request.GetResponse();
Console.WriteLine(response.ContentLength);
Run Code Online (Sandbox Code Playgroud)
为此,我知道这是要采取超过3毫秒加载URL(我把Thread.Sleep(110000)在Application_BeginRequest),它工作正常,并抛出一个WebException预期.
问题是当我切换到异步方法时:
var response = request.GetResponseAsync().Result;
Run Code Online (Sandbox Code Playgroud)
要么
var response = await request.GetResponseAsync();
Run Code Online (Sandbox Code Playgroud)
此异步版本完全忽略任何超时值,包括ReadWriteTimeout和ServicePoint.MaxIdleTime
我在MSDN中找不到关于Timeout的任何内容GetResponseAsync()现在我想知道它是否是一个错误GetResponseAsync()或者我在这里使用异步的方式有什么问题?
| 归档时间: |
|
| 查看次数: |
5898 次 |
| 最近记录: |