La siguiente línea de código ofrece una excepción. ¿Es esto un error en el marco? Si no, ¿qué enfoque podría tomar en su lugar?¿por qué colon ":" en Uri pasó a Uri.MakeRelativeUri causar una excepción?
Parece ser el ":" (dos puntos) que causa en el tema, sin embargo, me veo como un URI de trabajo en los sitios web de producción ok (es decir, parece que hay un URI válido en el mundo real)
Uri relativeUri = new Uri("http://test.com/asdf").MakeRelativeUri(new Uri("http://test.com/xx:yy"));
// gives => System.UriFormatException: A relative URI cannot be created because the
// 'uriString' parameter represents an absolute URI
Uri relativeUri = new Uri("http://test.com/asdf").MakeRelativeUri(new Uri("http://test.com/xxyy"));
// this works - removed the colon between the xx and yy
PS. Específicamente puedo preguntar dado que es el caso, qué clase/método .NET podría usar (teniendo en cuenta que estoy analizando una página HTML de la web) para tomar (a) el URI de la página y (b) la cadena relativa de un HTML Argumento HREF [ej. habría sido "/ xx: yy" en este caso] y devolver el URI válido que podría utilizarse para abordar ese recurso?
En otras palabras, ¿cómo imito el comportamiento de un navegador que traduce el HREF y el URI de página para producir el URI que utiliza para ir a ese recurso cuando hace clic en él.
Jon Postel: "sé liberal en lo que aceptas y conservador en lo que envías". Indique el RFC y su número de párrafo que prueba que este es un URI válido. –