需要访问C#web应用程序的类文件中的文件内容
本文关键字:文件 C#web 应用程序 访问 | 更新日期: 2023-09-27 18:27:57
我正在尝试从后台作业中读取一个电子邮件模板,该模板已写入类文件中。我尝试使用HttpContext.Current.Server.MapPath("~/path")
,但它不起作用,因为HttpContext
无效。
此外,我尝试使用System.Web.Hosting.HostingEnvironment.MapPath("~/path")
,我正在获取路径,但由于找不到文件,它引发了错误。我们的应用程序托管在共享托管中。
知道如何在C#Web应用程序中从类文件中读取文件内容吗。
类文件经过编译,不作为内容包含。这就是您无法访问模板的原因。如果要将模板作为属性访问,请在文件中创建一个类,并使用一个属性/字段来公开模板。
public static class Templates {
public static string Email_Template = "{email template}";
}
我也遇到过类似的情况,我需要访问电子邮件模板和api的降价文档。
以下是我解决问题的方法。
已在Web应用程序项目中创建App_Data文件夹。
在以前创建的文件夹中创建模板文件,并使用电子邮件模板填充该文件。我的是EmailTemplate.txt/Documentation.md
EmailTemplate.txt
{这是我的电子邮件模板}
假设您使用的是Visual Studio,在文件的属性选项卡中,将构建操作设置为内容
访问文件内容:
var path = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/EmailTemplate.txt");
var text = System.IO.File.ReadAllText(path);
//Do whatever formatting I needed to do with the template
如果HttpContext不起作用,那么尝试这个
System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/EmailTemplate.txt");
但请记住,您需要将模板文件作为内容进行访问,以便对其进行访问。