Qual é a melhor maneira de lançar um navegador Web com uma URL personalizada de um aplicativo C #?
Pergunta
É do conhecimento comum que o uso System.Diagnostics.Process.Start é o caminho para lançar um url de um C # applicaiton:
System.Diagnostics.Process.Start ( " http://www.mywebsite.com ");
No entanto, se esta URL é inválida a aplicação parece ter nenhuma maneira de saber que a chamada falhou ou o porquê. Existe uma maneira melhor para lançar um navegador web? Se não, qual é a minha melhor opção para validação url?
Solução
Tente uma abordagem como abaixo.
try
{
var url = new Uri("http://www.example.com/");
Process.Start(url.AbsoluteUri);
}
catch (UriFormatException)
{
// URL is not parsable
}
Este não garante que a exist recurso, mas ele faz garantir a URL está bem formado. Você também pode querer verificar se o esquema está combinando HTTP ou HTTPS.
Outras dicas
Se você precisa verificar se existe a URL, a única coisa que você pode fazer é criar uma solicitação personalizada com antecedência e verificar se ele funciona. Eu ainda usar o Process.Start a desembolsar para a página real, no entanto.
Verifique o método Uri.IsWellFormedUriString estático. É mais barato do que pegar exceção.