asp.net - 获取 ASP.NET MVC 站点在文件系统中的路径

标签 asp.net asp.net-mvc reflection path

我有一个 ASP.NET MVC 项目,其中有一个名为电子邮件的子文件夹。其中包含我的电子邮件模板的 HTM 文件。在网站的某些位置,我有一个 Controller 需要加载这些模板之一并将其作为电子邮件发送。

我想做的是使用反射来获取当前正在执行的程序集的路径,但它没有像我预期的那样工作。我返回的路径是:

var directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET iles\ssl\1da130c4\f8e7810e\assembly\dl3\5f253aca\1a71f123_e83bcc01\Emails\ProductAccountConfirmation.htm'

我觉得这很奇怪,因为该网站是通过 Visual Studio 托管在 IIS 中。我本以为这会给我 dev 中项目文件夹中的 dll 位置以及生产中 IIS 的部署文件夹。

最佳答案

您正在寻找的是Server.MapPath() ,它将为您提供正在执行的应用程序的路径。

关于asp.net - 获取 ASP.NET MVC 站点在文件系统中的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6598264/

相关文章:

带有枚举数组的 C# 反射

java - Java 中的多态复制

c# - 完成 asp.net web api 2 的 Elmah 日志记录设置

c# - 为什么完整的图像路径没有存储在数据库中?

asp.net - 传递值以在 Azure AD B2C 中预填充自定义字段

asp.net-mvc - 使用RedirectToAction时如何在 View 中显示成功消息

c# - C# 类型的反射 : GetType( "myType" ) vs typeof( myType ) behavior differs. 为什么?

c# - 如何使 rowIndex 在 gridview 分页中的所有页码中按顺序增加?

sql-server - 创建新记录之前如何获取最大ID值?

c# - 自定义 header 中带有 ID 的 ASP.NET MVC session