La cita es de más abajo: Framework Design Guildelines
I altamente recomienda este libro a cualquier persona en los marcos de desarrollo .Net
No utilizar System.Uri para representar datos URI/URL.
(para parámetros, propiedades y valores de retorno)
System.Uri es una mucho más segura y más rica forma de representar URIs. La amplia manipulación de de datos relacionados con URI utilizando cadenas simples ha demostrado causar muchos problemas de seguridad y corrección .
Considere que proporciona sobrecargas basadas en cadenas para los miembros más comúnmente usados con parámetros System.Uri.
En los casos en que el patrón de uso de teniendo una cadena de un usuario se le bastante comunes, se debe considerar la adición de una sobrecarga conveniencia aceptar una cadena. La sobrecarga de basada en cadenas debe implementarse en términos de la sobrecarga basada en Uri.
Do not sobrecargan automáticamente todos los miembros basados en Uri con una versión que acepta una cadena.
Generalmente, las API basadas en Uri son preferidas. Las sobrecargas basadas en cadenas son destinadas a ser ayudantes para la mayoría de los escenarios comunes . Por lo tanto, no debería proporcionar automáticamente sobrecargas basadas en cadenas para todas las variantes de los miembros basados en Uri. Sea selectivo y proporcione dichos auxiliares solo para las variantes más comunes .
EDITAR (por los comentarios): El libro establece específicamente: "extenso manipulación de los datos relacionados con el URI utilizando cuerdas de civil se ha demostrado que causa muchos problemas de seguridad y exactitud." No estoy seguro de qué justificación adicional desea para usar System.Uri/UriBuilder. Además, ¿por qué no quieres aprovechar el marco para leer/manipular un URI?
Al diseñar una API que será utilizada por otros, es importante hacerla accesible, , así como confiable. Por esta razón, el libro menciona, debe proporcionar sobrecargas "agradables" para la funcionalidad común. Sin embargo, para garantizar la corrección, siempre debe implementar el código subyacente con URI.
¿Puede aclarar sus deseos o razones para usar solo cadenas?
¿Te gustaría compartir las fundas que podrías hacer para ambos? – Quantenmechaniker