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
?
答案 0 :(得分:0)
我不得不深入研究documentation for the constructor you're calling。
public Uri (Uri baseUri, string relativeUri);
另外,如果
relativeUri
以斜杠开头,则它将替换baseUri
的任何相关部分。
这是预期的行为。如果您指定以斜杠开头的相对路径,则假定相对路径为 entire 相对路径,因此它将丢弃baseUri
中已经包含的所有相对路径。