HttpContext.Request.Path 和 HttpContext.Request.PathBase 之间的区别?

ste*_*wpf 5 c# httpcontext asp.net-core asp.net-core-webapi

我想知道Web API 控制器HttpContext.Request.Path和Web API 控制器之间有什么区别?HttpContext.Request.PathBase我阅读了文档,但不明白预期的差异应该是什么,即使在测试了这两个属性之后:

public async Task<ActionResult<string>> PostItem(ItemPostRequest itemPostRequest)
{   
    // Output: Path is: '/api/items'
    Debug.WriteLine($"Path is: '{HttpContext.Request.Path}'");
    
    // Output: PathBase is: ''
    Debug.WriteLine($"PathBase is: '{HttpContext.Request.PathBase}'");

    // [...]
}
Run Code Online (Sandbox Code Playgroud)

什么时候PathBase非空?我用的是.NET 5.0。

ste*_*wpf 6

正如卡米洛所写,它是关于app.UsePathBase("/some-path")

添加app.usePathBase("/mysite1")一个需要调用/mysite1/api/items而不是/api/items,然后它看起来像这样:

Path is: '/api/items'
PathBase is: '/mysite1'
Run Code Online (Sandbox Code Playgroud)

显然 PathBase 可用于在一台主机上托管多个站点/API。