如何测试提供的URL是否指向有效的WSDL

时间:2016-07-08 14:42:12

标签: c# wsdl

我在下面的代码中进行了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;
            }
        }
    }
}

1 个答案:

答案 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;
    }
}