我一直在尝试在asp.net 5中打开一个文件并且没有取得很大的成功。
过去您使用的是Server.MapPath
或HostingEnvironment.ApplicationPhysicalPath
。它们都在基于OWIN的框架中消失了。
有一个HostingEnvironment
类,但它在System.Aspnet
但是它需要由托管环境初始化(它不再有ApplicationPhysicalPath
的静态成员但我猜WebRoot
成员现在就这样做了。问题是我无法在任何地方找到它的引用。
我也查看了Context.GetFeature<>
,但似乎没有任何功能可以显示应用程序路径,只显示请求和响应相关信息。列出功能的代码可以找到here。
<snark>
是否能够在ASP.NET中使用已停用的文件?</snark>
还有可能我现在不能brain很好地错过了一些东西。
答案 0 :(得分:12)
您可以从ApplicationBasePath
服务的Microsoft.Framework.Runtime.IApplicationEnvironment
属性中获取它。
答案 1 :(得分:5)
现在有两种方法:
using Microsoft.Extensions.PlatformAbstractions;
public Startup(IApplicationEnvironment appEnv)
{
// approach 1
var path01 = PlatformServices.Default.Application.ApplicationBasePath;
// approach 2
var path02 = appEnv.ApplicationBasePath;
}