我在下面的代码中进行了URL测试,看它是否指向可以读取的有效wsdl。
但是,我宁愿不使用try catch进行此测试,而宁愿使用更合适的调用来返回指示它是否是有效URL的指示符。
以下是我目前正在使用的代码:
class TestProgram
{
static void Main(string[] args)
{
bool test = IsValid_WSDL_URL("http://notValid:888/test?wsdl");
}
public static bool IsValid_WSDL_URL(string url)
{
using (var webClient = new System.Net.WebClient())
{
try
{
webClient.OpenRead(url);
return true;
}
catch
{
return false;
}
}
}
}
答案 0 :(得分:0)
为您的webclient添加超时,否则将需要很长时间才能超时:
private class MyWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri uri)
{
WebRequest w = base.GetWebRequest(uri);
w.Timeout = 3000; // 3 seconds
return w;
}
}