使用GetResponse显示操作超时。问题在于我的笔记本(WIN10)上是没有问题的,换到另一台电脑(WIN7)上却一直是操作超时。
网上搜索了很多,比如:
1.keepalive设置成true或false,都没有用;
2.timeout设置无影响,因为笔记本上是可以读取的;
3.System.Net.ServicePointManager.DefaultConnectionLimit也改大过,没有用:
4.加上:System.GC.Collect(),没有用。
就只是这么简单一段代码,应该不存在http资源占用问题:
try
{
HttpWebRequest request1 = WebRequest.Create("http://192.168.0.30/api/slot/0/io/di") as HttpWebRequest;
request1.Method = "GET";
request1.ContentType = "application/json";
request1.Accept = "vdn.dac.v1";
request1.Timeout = 1000;
using (HttpWebResponse response = request1.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
string JStext = reader.ReadToEnd();
textBox1.Text = JStext;
JsonHelper.Root rt = JsonHelper.JsonToT<JsonHelper.Root>(JStext);
textBox1.Text = rt.io.di[0].diStatus.ToString();
}
}
catch(Exception ex)
{
textBox1.Text = "未连接上!原因:"+ex.Message;
}
找不到原因,不知道是不是有什么系统设置的问题。有遇到过类似情况的大佬还请指点指点,谢谢各位了!
我只遇到过https的,http没碰到过。。那台win7电脑浏览器能打开http://192.168.0.30/api/slot/0/io/di网址没先。。
而且每次才插上网线时执行代码可以读到数据,过几秒就不行了,一直是操作超时。