问题描述
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Net;usingSystem.Text;usingSystem.Threading.Tasks;namespace_11111111{classProgram{staticvoidMain(stringargs){//Console.WriteLine(UrlIsExist("http://10.1.2.5:80/"));Console.WriteLine(UrlIsExist("http://www.baidu.com/"));Console.ReadKey();}privatestaticHttpWebRequestrequest=null;publicstaticboolUrlIsExist(Stringurl){if(request!=null){request.Abort();request=null;}System.Uriu=null;try{Console.WriteLine(1);u=newUri(url);Console.WriteLine(11);}catch(Exceptionex){Console.WriteLine(2);Console.WriteLine(ex);returnfalse;}boolisExist=false;Console.WriteLine(12);request=System.Net.HttpWebRequest.Create(u)asSystem.Net.HttpWebRequest;Console.WriteLine(13);request.Method="HEAD";Console.WriteLine(14);request.Timeout=10000;Console.WriteLine(15);try{//正常的机器到这里就继续执行了,但是有一台机器到这里就会报错,好像是request为空或者s为空,不知道原因。System.Net.HttpWebResponses=request.GetResponse()asSystem.Net.HttpWebResponse;Console.WriteLine(16);if(s.StatusCode==System.Net.HttpStatusCode.OK){Console.WriteLine(3);isExist=true;}Console.WriteLine(4);}catch(System.Net.WebExceptionx){Console.WriteLine(7);try{Console.WriteLine(5);Console.WriteLine(x);isExist=((x.ResponseasSystem.Net.HttpWebResponse).StatusCode!=System.Net.HttpStatusCode.NotFound);}catch(Exceptionex){Console.WriteLine(6);Console.WriteLine(ex);isExist=(x.Status==System.Net.WebExceptionStatus.Success);}}returnisExist;}}}
解决方案
解决方案二:
什么叫好像是?能严谨点吗?
解决方案三:
引用1楼shingoscar的回复:
什么叫好像是?能严谨点吗?
Console.WriteLine(15);到这里就不走了,提示未引用到实例。问题机器是客户服务器,不能调试,只能写个小程序看看哪里断了