首页 > 解决方案 > 与 Server.MapPath 等效的功能齐全的 ASP.Net Core

问题描述

我正在寻找与 System.Web 的 Server.MapPath 等效的 ASP.Net Core (2.0)。

对此的一般建议是将 IHostingEnvironment 的 ContentRootPath 与 Path.Combine 一起使用

例如

var fullPath = Path.Combine(_hostingEnvironment.ContentRootPath, localPath);

但是如果 localPath 可能是相对路径(以 '~' 开头),那就行不通了。或者 localPath 可能以“/”开头,或者没有特殊前缀。如果您查看 Server.MapPath 的参考源(它似乎在后台调用 Request.MapPath),它是一个非常复杂的野兽,可以处理很多场景。它使用另一个类 VirtualPath,而后者又使用 UrlPath 类。它肯定不只是调用 Path.Combine。

所以我想知道功能丰富的东西是否已经进入了 ASP.Net Core。

作为记录,我正在查看的 System.Web.HttpRequest 的参考源在这里

谢谢

标签: c#asp.net-core

解决方案


推荐阅读