首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何立即中止HttpWebRequest.GetResponseAsync()

如何立即中止HttpWebRequest.GetResponseAsync()
EN

Stack Overflow用户
提问于 2014-01-25 21:58:23
回答 1查看 760关注 0票数 0

当我在调用.Abort()之后调用请求的GetResponseAsync()方法时,请求仍然不会立即中止。在中止实际发生之前有显著的延迟(2-3秒)。

正如看起来的那样,HttpWebRequest首先解析主机名并建立连接。因此,如果主机名错误,或者DNS服务器死了,或者主机本身没有响应,.Abort()需要很长时间才能关闭连接并中止请求。

是否有办法立即中止操作并关闭连接而不等待这些操作(主机名查找、主机连接设置等)才能完成?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-25 22:26:05

DNS解析是同步进行的,中止在完成(或失败)之前是不会有效的。除了在单独的线程中执行请求并在需要中止时“忘记”请求之外,您无能为力。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21356773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档