gpt4 book ai didi

c# - 我如何在 ASP.NET MVC 6 (六) 代码中获取 bin 或 wwwroot 目录

转载 作者:行者123 更新时间:2023-11-30 14:52:15 24 4
gpt4 key购买 nike

在我使用的 ASP.NET MVC 5 中

_myStem = new MyStemWrapper(Path.Combine(HttpRuntime.AppDomainAppPath, "mystem.exe"));

获取文件路径。

在 ASP.NET MVC 6 中,我无法通过相同的方式获取路径。我需要在任何请求之前获取路径,因为我的包装器是由 IOC 创建的单例

var d = AppDomain.CurrentDomain; // some path to C:\Users\username\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta5\bin
var r = HttpRuntime.BinDirectory; // ArgumentNullException
var r2 = HttpRuntime.AppDomainAppPath; // ArgumentNullException
var ap = Apllication.StartupPath; // Application class missing
var s = Server.MapPath("~/") // Server class missing

最佳答案

在 ASP.NET 5 中,您可以使用 IApplicationEnvironment 轻松访问这些信息:

private readonly IApplicationEnvironment _app;
public HomeController(IApplicationEnvironment app)
{
_app = app;
}
public IActionResult Index()
{
var path = _app.ApplicationBasePath;
}

更新:如果您想要 wwwroot 路径,您可以注入(inject) IHostingEnvironment 并获取 WebRootPath 属性:

private readonly IHostingEnvironment _app;
public HomeController(IHostingEnvironment app)
{
_app = app;
}
public IActionResult Index()
{
var path = _app.WebRootPath;
}

关于c# - 我如何在 ASP.NET MVC 6 (六) 代码中获取 bin 或 wwwroot 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32129007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com