通过这个方法我们在调用远程服务之前进行下判断,给出友情提示,非常人性化。
代码如下:
private bool UrlIsExist(String url)
{
System.Uri u = null;
try
{
u = new Uri(url);
}
catch { return false; }
bool isExist = false;
System.Net.HttpWebRequest r = System.Net.HttpWebRequest.Create(u) as System.Net.HttpWebRequest;
r.Method = "HEAD";
try
{
System.Net.HttpWebResponse s = r.GetResponse() as System.Net.HttpWebResponse;
if (s.StatusCode == System.Net.HttpStatusCode.OK)
{
isExist = true;
}
}
catch (System.Net.WebException x)
{
try
{
isExist = ((x.Response as System.Net.HttpWebResponse).StatusCode != System.Net.HttpStatusCode.NotFound);
}
catch { isExist = (x.Status == System.Net.WebExceptionStatus.Success); }
}
return isExist;
}
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("<li>http://dotnet.aspx.cc/Images/ 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/Images/"));
Response.Write("<li>http://dotnet.aspx.cc/ImagesX/ 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/ImagesX/"));
Response.Write("<li>http://xxxxx/ 是否存在:" + UrlIsExist("http://xxxxx/"));
Response.Write("<li>hxxxxxxxxxxxxxxxxxxx 是否存在:" + UrlIsExist("hxxxxxxxxxxxxxxxxxxx"));
Response.Write("<li>http://dotnet.aspx.cc/Images/logoSite.gif 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/Images/logoSite.gif"));
Response.Write("<li>http://dotnet.aspx.cc/Images/logoSite2.gif 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/Images/logoSite2.gif"));
}
{
System.Uri u = null;
try
{
u = new Uri(url);
}
catch { return false; }
bool isExist = false;
System.Net.HttpWebRequest r = System.Net.HttpWebRequest.Create(u) as System.Net.HttpWebRequest;
r.Method = "HEAD";
try
{
System.Net.HttpWebResponse s = r.GetResponse() as System.Net.HttpWebResponse;
if (s.StatusCode == System.Net.HttpStatusCode.OK)
{
isExist = true;
}
}
catch (System.Net.WebException x)
{
try
{
isExist = ((x.Response as System.Net.HttpWebResponse).StatusCode != System.Net.HttpStatusCode.NotFound);
}
catch { isExist = (x.Status == System.Net.WebExceptionStatus.Success); }
}
return isExist;
}
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("<li>http://dotnet.aspx.cc/Images/ 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/Images/"));
Response.Write("<li>http://dotnet.aspx.cc/ImagesX/ 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/ImagesX/"));
Response.Write("<li>http://xxxxx/ 是否存在:" + UrlIsExist("http://xxxxx/"));
Response.Write("<li>hxxxxxxxxxxxxxxxxxxx 是否存在:" + UrlIsExist("hxxxxxxxxxxxxxxxxxxx"));
Response.Write("<li>http://dotnet.aspx.cc/Images/logoSite.gif 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/Images/logoSite.gif"));
Response.Write("<li>http://dotnet.aspx.cc/Images/logoSite2.gif 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/Images/logoSite2.gif"));
}