c# - 为什么 URI 构造函数从 baseUri 参数中删除部分路径?
问题描述
public class Program
{
public static void Main()
{
Uri baseUri = new Uri("http://localhost:7777/BasePath/");
Uri uri = new Uri(baseUri, "/controller");
Console.WriteLine(uri);
}
}
从 uri 中擦除 /BasePath 的意图行为是否是最终结果http://localhost:7777/controller
?
解决方案
我不得不深入研究您正在调用的构造函数的文档。
public Uri (Uri baseUri, string relativeUri);
此外,如果
relativeUri
以斜杠开头,那么它将替换baseUri
.
这是预期的行为。如果您指定以斜杠开头的相对路径,则假定该相对路径是整个相对路径,因此它会丢弃任何已包含在baseUri
.
推荐阅读
- java - 为什么Apache POI中的函数Offset的最后一列索引太低以及如何处理?
- ruby-on-rails - 在 Ruby 中将数字从 nil 增加到 1
- excel - 获取列中的最后一个值(模仿层次结构)
- apache-spark - 如何有条件地用整数替换空值 Pyspark Dataframe
- sql-server - 同一ID的日期差异
- c++ - R 包中的 c++ 文档
- r - R 和 Stata 在大型数据集上的表现不同
- angular - 将 angular-cli 从版本 4 升级到 7 后 npm install 中断
- c# - 如何根据分数提高敌人的移动速度?
- spring - 将属性值注入注释字段