asp.net – 如何在捕获httpwebrequest超时后关闭底层连接
发布时间:2020-12-16 04:04:38 所属栏目:asp.Net 来源:网络整理
导读:我的asp.net应用程序将httpwebrequest发送到远程REST服务器并等待响应,我发现有很多相同的错误消息,如下所示: System.Net.WebException: The operation has timed-out. at System.Net.HttpWebRequest.GetResponse() 在我捕获此异常并直接关闭底层http连接后
我的asp.net应用程序将httpwebrequest发送到远程REST服务器并等待响应,我发现有很多相同的错误消息,如下所示:
在我捕获此异常并直接关闭底层http连接后,这可能吗?或者我真的不必这样做,因为我已经将keepalive设置为false? 谢谢. 实际上另一个问题是,如果超时异常总是发生在System.Net.HttpWebRequest.GetResponse(),这是否意味着应用程序正在等待来自远程服务器的响应,并且在超时之前无法获得响应.可能的原因是什么,网络连接不稳定?远程服务器无响应?任何其他可能的原因? 这是代码: System.Net.HttpWebResponse httpWebResponse = null; System.IO.Stream stream = null; XmlTextReader xmlTextReader = null; try { System.Net.HttpWebRequest httpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(request); httpWebRequest.ReadWriteTimeout = 10000; httpWebRequest.Timeout = 10000; httpWebRequest.KeepAlive = false; httpWebRequest.Method = "GET"; httpWebResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse(); stream = httpWebResponse.GetResponseStream(); xmlTextReader = new XmlTextReader(stream); xmlTextReader.Read(); xmlDocument.Load(xmlTextReader); //Document processing code. //... } catch { //Catch blcok with error handle } finally { if (xmlTextReader != null) xmlTextReader.Close(); if (httpWebResponse != null) httpWebResponse.Close(); if (stream != null) stream.Close(); } 解决方法
简单的经验法则是,如果它没有实现IDisposal,那么它不需要处理.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何使用Fluent Nhibernate中的Automapping进行OR Mapping映
- asp.net-mvc – 路由:如何在url中隐藏动作名称?
- 强制其他用户使用ASP.NET Identity 2.1.0刷新其声明
- asp.net-mvc-5 – MVC 5 AttributeRouting Catch All
- 共享ASP.NET_SessionId和.ASPXAUTH cookie安全风险
- ASP.NET核心EF6身份
- asp.net-web-api – Ninject.Web.WebApi.OwinHost v3.2.x的
- asp.net-mvc-4 – 如何在ASP.NET MVC 4上使用SPA热毛巾模板
- 我应该在ASP.NET MVC中构建我的下一个Web应用程序吗?
- Asp.Net Zero通用打印实现
推荐文章
站长推荐
- asp.net-core – RenderPartial()在ASP.Net 5 MV
- asp.net-mvc-3 – 从ASP MVC 3 Preview更新到Bet
- asp.net-mvc – MVC控制器正在被调用两次
- asp.net-mvc – 为什么IIS没有清理池回收导致网站
- asp.net-mvc – .NET MVC自定义验证(无数据注释)
- asp.net – 自定义动态数据中的数据注释
- asp.net-mvc – 什么是Owin rememberBrowser做什
- asp.net-core – 从appsettings.json获取Connect
- asp.net-mvc – 使用asp.net mvc操作过滤器的奇怪
- asp.net-mvc – 带有lambda表达式的ASP.net MVC
热点阅读