válido puede formato example determinar c# .net uri

c# - puede - Reemplazar host en Uri



uri no válido no se puede determinar el formato del uri (2)

Como dice @Ishmael, puedes usar System.UriBuilder. Aquí hay un ejemplo:

// the URI for which you want to change the host name var oldUri = Request.Url; // create a new UriBuilder, which copies all fragments of the source URI var newUriBuilder = new UriBuilder(oldUri); // set the new host (you can set other properties too) newUriBuilder.Host = "newhost.com"; // get a Uri instance from the UriBuilder var newUri = newUriBuilder.Uri;

¿Cuál es la mejor manera de reemplazar la parte del host de un Uri usando .NET?

Es decir:

string ReplaceHost(string original, string newHostName); //... string s = ReplaceHost("http://oldhostname/index.html", "newhostname"); Assert.AreEqual("http://newhostname/index.html", s); //... string s = ReplaceHost("http://user:pass@oldhostname/index.html", "newhostname"); Assert.AreEqual("http://user:pass@newhostname/index.html", s); //... string s = ReplaceHost("ftp://user:pass@oldhostname", "newhostname"); Assert.AreEqual("ftp://user:pass@newhostname", s); //etc.

System.Uri no parece ayudar mucho.


System.UriBuilder es lo que buscas ...

string ReplaceHost(string original, string newHostName) { var builder = new UriBuilder(original); builder.Host = newHostName; return builder.Uri.ToString(); }