我有一個應用程序,其中發送的電子郵件內容存儲在.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