Sigo recibiendo este error.
URI no válido: no se pudo determinar el formato del URI.
el código que tengo es:
Uri uri = new Uri(slct.Text);
if (DeleteFileOnServer(uri))
{
nn.BalloonTipText = slct.Text + " has been deleted.";
nn.ShowBalloonTip(30);
}
Actualización: el contenido en slct.Text es ftp.jt-software.net/style.css
.
¿Lo que da? ¿Cómo es que no es un formato URI válido? Es texto sin formato.
ftp://
ohttp://
en tu URI. Obtienes mi voto ahora ;-)Respuestas:
Puede resultar útil utilizar un constructor diferente para Uri.
Si tiene el nombre del servidor
y tener una ruta Uri relativa para agregarle, p. ej.
Al crear un Uri a partir de estos dos, obtengo la excepción "no se pudo determinar el formato" a menos que use el constructor con el argumento UriKind, es decir
fuente
Consulte las posibles razones aquí: http://msdn.microsoft.com/en-us/library/z6c2z492(v=VS.100).aspx
EDITAR:
Debe poner el prefijo del protocolo delante de la dirección, es decir, en su caso, "ftp: //"
fuente
Parece que podría ser un uri real. Me encontré con este problema al utilizar Silverlight en varios navegadores; en mi blog mencioné una solución: pasar un uri de "contexto" como primer parámetro.
Si el uri es real, el uri de contexto se usa para crear un uri completo. Si el uri es absoluto, se ignora el uri de contexto.
EDITAR: Necesita un "esquema" en la uri, por ejemplo, "ftp: //" o "http: //"
fuente
Mejor uso
Uri.IsWellFormedUriString(string uriString, UriKind uriKind)
. http://msdn.microsoft.com/en-us/library/system.uri.iswellformeduristring.aspxEjemplo: -
fuente
Trabajé alrededor de esto usando UriBuilder en su lugar.
fuente
El problema para mí fue que cuando obtuve un nombre de dominio, tenía:
cloudsearch -..-..- xxx.aws.cloudsearch ... [INCORRECTO]
http: //cloudsearch-..-..-xxx.aws.cloudsearch ... [DERECHA]
espero que esto haga el trabajo por ti :)
fuente