首页 > 解决方案 > Net Core IWebHostEnvironment 仅获得“c:\”

问题描述

我正在尝试将应用程序从 .net 移动到 net core 5,并且正在尝试获取内容根目录。

我看到的所有说明都显示在控制器中使用 IHostingEnvironment:

但是,使用它只会让我得到“c:”,我怀疑这是因为我试图使用它,而不是在控制器中,而是在 Identity RegisterModel : PageModel 中,以便获取一个 html 文件,该文件将成为确认电子邮件。

这可能是问题吗?

如果是这样,我将如何在不在控制器中的代码中获取文件的路径?

标签: c#.net-coremodel-view-controller

解决方案


IHostingEnvironment 像服务一样工作,需要注入到控制器的构造函数中。您可以在用户控制器中使用它。

如果没有要评估的代码,就不能做太多的考虑。

一个简单的方法是:在默认控制器的构造函数中,在静态类中设置一个为您保存路径的成员。一旦它是一个静态类,如果你将它设置为公共,你就可以从任何地方访问它。


推荐阅读