Uri.TryCreate retourne true pour toute la chaîne de valeur?
Je suis en train de valider un Uri à l'aide de l'Uri.TryCreate méthode et lorsque je l'ai appelé avec une chaîne non valide, la méthode retourné véritable. Des idées pourquoi? Mon code est ci-dessous:
private void button1_Click(object sender, EventArgs e)
{
Uri tempValue;
if (Uri.TryCreate("NotAURL", UriKind.RelativeOrAbsolute, out tempValue))
{
MessageBox.Show("?");
}
}
OriginalL'auteur Scott Scowden | 2010-11-12
Vous devez vous connecter pour publier un commentaire.
C'est une bonne URL relative. Un exemple d'URI non valide est:
Si vous voulez autoriser que l'Uri absolus, l'utilisation
UriKind.Absolute
.L'exemple ne parviennent pas à analyser.
Il pourrait être un URI relatif sur un site web. E. g. si vous êtes sur
http://example.com/
, relatif URL fait référence àhttp://example.com/NotAURL
.Oui, c'est ce que j'ai fait, mis à UriKind.Absolue. Merci encore.
Chaîne vide ou "?" sont également valables par rapport à des uris selon cette méthode. Comment cela fait-il sens?
En utilisant une chaîne vide comme une URL relative fait référence au document courant. Par exemple, si le document est
http://example.org/foo/bar.html
, puis un vide relatif URL fait référence au même fichier. URL Relative?
également fait référence au même fichier avec un vide de chaîne de requête; si l'URL d'origine a déjà une chaîne de requête, le nouveau remplace l'ancien. Par exemple, à partir dehttp://example.org/foo/bar.html?foo=bar
, l'URL relative?baz=qux
rendementshttp://example.org/foo/bar.html?baz=qux
. (Un vide relatif URL conserve l'original de la chaîne de requête.)OriginalL'auteur Matthew Flaschen