我有一个应用程序,其中发送的电子邮件内容存储在.resx文件中。
这是一个ASP.Net应用程序,.resx文件生活在/ App_GlobalResources文件以编程方式读取.resx文件
当我需要发送一封电子邮件,我读这一点使用:
HttpContext.GetGlobalResourceObject("MailContents", "EmailID").ToString
现在,我需要从另一个项目(而不是网站)使用相同的邮件发送方法。邮件方法位于解决方案中所有项目共享的DLL中。
在这个其他项目中,我显然没有HttpContext。
如何读取这些资源?
我目前的做法是,在Mailing类中,检查HttpContext.Current是否为空,如果是,则使用单独的方法。
我现在看到的单独的方法(将自己放在没有什么更好的事实之后)是让存储在app.config文件中的网站的.resx文件的路径,并以某种方式读取该文件。
我开始尝试使用System.Resources.ResourceReader,但它看起来想要一个.resources文件,而不是.resx文件。
将电子邮件添加到DLL的问题是,然后我们需要重新编译该DLL以更改电子邮件内容,这显然很糟糕。 – 2008-09-30 20:49:02