从C#应用程序使用自定义URL启动Web浏览器的最佳方法是什么?

时间:2020-03-06 14:41:20  来源:igfitidea点击:

众所周知,使用System.Diagnostics.Process.Start是从Capplicaiton启动url的方式:

System.Diagnostics.Process.Start(" http://www.mywebsite.com");

但是,如果此url无效,则应用程序似乎无法知道调用失败或者原因。有没有更好的方法来启动网络浏览器?如果不是,我对URL验证的最佳选择是什么?

解决方案

如果我们需要验证URL是否存在,则唯一可以做的就是预先创建一个自定义请求并验证其是否有效。不过,我仍然会使用Process.Start来显示实际页面。

请尝试以下方法。

try
{
    var url = new Uri("http://www.example.com/");

    Process.Start(url.AbsoluteUri);
}
catch (UriFormatException)
{
    // URL is not parsable
}

这不能确保资源存在,但是可以确保URL格式正确。我们可能还想检查该方案是否匹配http或者https。

检查Uri.IsWellFormedUriString静态方法。
比捕获异常便宜。