所以我有这个Uri
对象,其中包含一个地址,如http://localhost:1000/blah/blah/blah
。我需要更改端口号并保持地址的所有其他部分不变。假设我需要它是http://localhost:1080/blah/blah/blah
。改变System.Uri的端口
Uri
对象几乎是不可变的,所以我可以通过Port
属性访问端口号,但它是只读的。有没有什么理智的方法可以创建一个完全像另一个但具有不同端口的物体Uri
?对于“理智”,我的意思是“没有搞乱正则表达式和字符串操作”,因为虽然对于上面的例子来说它是微不足道的,但它仍然闻起来像是一堆蠕虫。如果这是唯一的方法,我真的希望它已经由某人实施,并且可能有一些帮手(我没有找到任何)
在此先感谢。
有一点要注意有关'UriBuilder'是,如果你设置了'Port'到** -1 **它使用协议的默认值,如果您不想要端口#的输出,那么它非常有用。 – 2012-08-14 14:42:24
@PaulTyng感谢那宝藏!这正是我所期待的。 (与UriBuilder类一起) – 2013-10-04 16:22:43
虽然计划是什么?它做什么,我应该放在那里? – Cullub 2014-09-09 12:31:15