asp.net – 如何在捕获httpwebrequest超时后关闭底层连接
发布时间:2020-05-24 15:44:29 所属栏目: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,那么它不需要处理.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- msbuild – 如果不指定目标框架,则不支持“发布”目标
- 如何使用WebAPI没有ASP.NET MVC?
- asp.net-mvc-3 – 比较(密码)属性
- 有条件地排除ASP.NET WebForms中的一个HTML块
- asp.net-mvc – xVal和ASP.Net MVC 2 AddModelStateErrors问
- MVC3Razor – 将DateTime字符串从“mm / dd / yyyy 12:00:0
- asp-classic – Response.Write和%=%
- asp.net – 你的aspx页面中的内联代码是一个好习惯吗?
- asp.net – 谁负责处理HttpPostedFile.InputStream – 何时
- asp.net – 将JSON对象反序列化为列表不能使用asmx服务
推荐文章
站长推荐
- asp.net – AspNetCompatibilityRequirements是什
- asp.net – 此操作需要连接到“主”数据库
- asp.net – .NET 4中的SignalR支持
- asp-classic – 浏览器似乎忽略了响应缓存控制指
- asp.net – 如何在没有查找AspNetUserRoles表的情
- asp.net-mvc – 使用ASP.NET MVC设置路由{tenant
- ASP.NET Core中的Startup.cs中的asp.net-core –
- asp.net-mvc – 已经处理了DbContext和autofac
- asp.net-mvc-3 – ASP.NET MVC 3 JSONP:这适用于
- ASP Classic中的HTTP身份验证(基本或摘要)通过II
热点阅读
