代码之家  ›  专栏  ›  技术社区  ›  Junior Mayhé

为什么URI构造函数从baseUri参数中删除部分路径?

  •  0
  • Junior Mayhé  · 技术社区  · 7 年前
    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 ?

    1 回复  |  直到 7 年前
        1
  •  4
  •   Scott Hannen    7 年前

    我不得不深入研究这个问题 documentation for the constructor you're calling .

    public Uri (Uri baseUri, string relativeUri);

    此外,如果 relativeUri baseUri .

    这是预期的行为。如果指定以斜杠开头的相对路径,则它假定相对路径是 整个的 相对路径,因此它将丢弃已包含在中的任何相对路径