Cambios realizados en el espacio de nombres System.Uri de la versión 2.0

Se han realizado varios cambios en la clase System.Uri. Estos cambios han corregido un comportamiento incorrecto, han mejorado el uso y también la seguridad.

Miembros obsoletos y en desuso

Constructores:

  • Todos los constructores que tienen un parámetro dontEscape.

Métodos:

Cambios

  • En los esquemas URI que se sabe que no tienen un elemento de consulta (archivo, ftp y otros), el carácter "?" siempre tiene escape y no se considera el principio de un elemento Query.

  • En el caso de los URI de archivo implícitos (con formato c:\directory\file@name.txt), el carácter de fragmento ("#") siempre tiene escape a menos que se solicite no escape completo o LocalPath sea true.

  • Se ha quitado la compatibilidad de nombre de host UNC; se ha adoptado la especificación de IDN para representar nombres de host internacionales.

  • LocalPath siempre devuelve una cadena totalmente sin escape.

  • ToString no quita el escape de un carácter "%", "?" o "#" con escape.

  • Equals ahora incluye el elemento Query en la comparación de igualdad.

  • Los operadores "==" y "!=" se han reemplazado y vinculado al método Equals.

  • IsLoopback ahora genera resultados coherentes.

  • El URI "file:///path" ya no se traduce en file://path.

  • "#" ahora se reconoce como un terminador de nombre de host. Es decir, http://contoso.com#fragment ahora se convierte en http://contoso.com/#fragment.

  • Se ha corregido un error al combinar un URI base con un fragmento.

  • Se ha corregido un error en HostNameType.

  • Se ha corregido un error en el análisis de NNTP.

  • Un URI con formato HTTP:contoso.com ahora produce una excepción de análisis.

  • El marco de trabajo administra correctamente la información de usuario de un URI.

  • Se ha corregido la compresión de la ruta de acceso URI para que un URI roto no pueda recorrer el sistema de archivos por encima de la raíz.

Vea también