繁体   English   中英

在asp.net vnext中获取应用程序路径

[英]get application path in asp.net vnext

我一直试图在asp.net 5中打开一个文件并且没有取得很大的成功。

过去,您使用过Server.MapPathHostingEnvironment.ApplicationPhysicalPath 它们都在基于OWIN的框架中消失了。

有一个HostingEnvironment类,但它在System.Aspnet但它需要由托管环境初始化(它不再有ApplicationPhysicalPath的静态成员,但我猜测WebRoot成员现在就这样做了。问题是我可以'在任何地方找到它的引用。

我也查看了Context.GetFeature<>但它似乎没有任何显示应用程序路径的功能,只是请求和响应相关的信息。 列出功能的代码可以在这里找到。

<snark>是否能够在ASP.NET中使用已停止使用的文件? </snark>

还有可能我现在脑筋不好,错过了什么。

您可以从Microsoft.Framework.Runtime.IApplicationEnvironment serivce的ApplicationBasePath属性中获取它。

示例: https//github.com/aspnet/Mvc/blob/9f1cb655f6bb1fa0ce1c1e3782c43a2d45ca4e37/test/WebSites/FilesWebSite/Controllers/DownloadFilesController.cs#L28

现在有两种方法:

using Microsoft.Extensions.PlatformAbstractions;

public Startup(IApplicationEnvironment appEnv)
{
    // approach 1
    var path01 = PlatformServices.Default.Application.ApplicationBasePath;

    // approach 2
    var path02 = appEnv.ApplicationBasePath;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM