我有一個「資源」文件夾中有兩個資源文件的ASP.NET應用程序MVC4,像這樣:訪問資源字符串(非流動)文化
Project Resources Resources.fr-CA.resx Resources.resx
我設置基於當前文化用戶設置和一切正常工作與此設置。
但是,我有一個處理錯誤的類,它們都顯示給用戶並將它們記錄在數據庫中。我想要使用用戶的當前文化顯示錯誤消息,但使用英文消息將其記錄在數據庫中。
我做了一些研究,並找到了一些選項來獲取特定文化的資源字符串,但我遇到了問題。
HttpContext.GetLocalResourceString("~/Resources/Resources.resx", "Error_Message", CultureInfo.CreateSpecificCulture("en-US"))
拋出The resource class for this page was not found. Please check if the resource file exists and try again.
我試過搞亂了uri而無濟於事。
HttpContext.GetGlobalResourceString("Resources", "Error_Message", CultureInfo.CreateSpecificCulture("en-US"))
總是返回null。
我該如何做到這一點(獲取特定文化的資源字符串而不改變Thread.CurrentThread.CurrentCulture
)?
感謝您的回答。我沒有使用資源字符串記錄操作,只記錄用戶看到錯誤消息,以及該消息是什麼(除英文而非法語)。我會試一試你的建議。 – Mansfield
沒關係,我明白了。我需要爲第一個參數指定「true」。非常感謝! – Mansfield