在ASP.NET和IIS下,如果我有"〜/ content"形式的虚拟路径,我可以使用MapPath方法将其解析为物理位置:
HttpContext.Server.MapPath("~/content");
Run Code Online (Sandbox Code Playgroud)
如何在OWIN主机下解析到物理位置的虚拟路径?
TN.*_*TN. 34
您可以使用AppDomain.CurrentDomain.SetupInformation.ApplicationBase来获取应用程序的根目录.使用根路径,您可以为Owin实现"MapPath".
我还不知道另一种方式.(该ApplicationBase属性也由Microsoft.Owin.FileSystems.PhysicalFileSystem使用.)
Bor*_*itz 20
你不应该使用HttpContext.Server,因为它只适用于MVC.HostingEnvironment.MapPath()是要走的路.但是,它不适用于自托管owin.所以,你应该直接得到它.
var path = HostingEnvironment.MapPath("~/content");
if (path == null)
{
var uriPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
path = new Uri(uriPath).LocalPath + "/content";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14195 次 |
| 最近记录: |