【问题标题】:Net Core IWebHostEnvironment getting only "c:\"Net Core IWebHostEnvironment 仅获得“c:\”
【发布时间】:2021-09-14 20:00:43
【问题描述】:

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

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

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

这可能是问题吗?

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

【问题讨论】:

  • 也许您可能想展示您的 .Net Core 5 代码以了解真实情况。
  • 好的,我已经将代码添加到有问题的地方。这个注册码的组织方式和我之前习惯的不一样,不过好像只要拿到根文件夹就可以引用文件来读取也不是那么难。
  • Dangit,代码有点老了……
  • 对不起,代码的最后一个状态似乎有一些其他的实验,我的连接超时,所以我的撤消历史丢失了。我在想我可以将相关路径放入 appsettings.json 并继续前进。

标签: c# .net-core model-view-controller


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 2018-11-28
    • 2021-07-05
    • 1970-01-01
    相关资源
    最近更新 更多