首页 新闻 会员 周边 捐助

.net中用什么法子可以验证请求地址不可达,实现快速失败?

0
悬赏园豆:10 [已解决问题] 解决于 2015-06-15 20:27

现在有一个内网请求是在服务器上可以访问,在个人电脑上无法访问。

能否实现一个验证机制,使得调试的时候能快速的知道请求地址是否可以访问?

目前是GetResponse,在请求访问不了的情况下,需要20秒之后才进入catch异常。

查了这个地址:http://www.baiwanzhan.com/site/t121032/

但是timeout和ReadWriteTimeout设置之后没有其效果。

显示昵称(init)的主页 显示昵称(init) | 菜鸟二级 | 园豆:208
提问于:2015-06-03 17:54
< >
分享
最佳答案
2
收获园豆:10
dudu | 高人七级 |园豆:30925 | 2015-06-03 18:03

正解,谢谢du

显示昵称(init) | 园豆:208 (菜鸟二级) | 2015-06-15 17:10
其他回答(3)
0

专门使用一个HttpWebRequest来验证,将这个对象的超时时间设置得很短就行。

幻天芒 | 园豆:37205 (高人七级) | 2015-06-04 10:57
0

var t = Dns.GetHostEntryAsync("www.baiwanzhan.com");

if(!t.Wait(2 * 1000))

   throw timeout;

Socket sd = new Socket;

var t2 = sd.Connect(t.Result);

if(!t2.Wait(1 * 1000))

 throw timeout;

Launcher | 园豆:45050 (高人七级) | 2015-06-04 11:52
0

Ping p=new Ping();

PingReply pr=p.Send("192.168.1.1");

string r=pr.Status.ToString();

if(r=="Success"){true}

Q.L.P | 园豆:229 (菜鸟二级) | 2015-06-04 13:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册