2009-10-05 52 views
0

我正在使用mvc 1.0編寫一個使用asp.net編寫的多語言網站。 我被要求從資源文件切換到數據庫,以允許我的客戶端更改翻譯字符串,而無需重新啓動服務。資源可以在運行時在asp.net中交換嗎?

我不知道是否有可能在運行時使用標準資源文件交換翻譯。

問:

我怎樣才能讓我的客戶,以取代在運行時轉換,而無需停機?

以下是如何解決問題的原始思路。任何想法都是值得歡迎的:

  • 使用IIS在切換資源衛星組件後平穩地重新啓動應用程序。優雅地意味着所有新的請求都使用更新的程序集。 (不是程序集文件被鎖定?)
  • 最後,我將自己的資源提供程序(讀取xml文件)並將其插入資源管理器。 (我從來沒有這樣做,所以任何幫助,歡迎)
+0

翻譯字符串有多頻繁地進入chnage?不經常會是我的猜測...... – 2009-10-06 10:38:40

回答

0

是的,你可以推出自己的字符串資源查找格式,而不是使用什麼.NET。之前已經完成,我確定它會再次完成。

顯而易見的消極之處在於它與標準資源無關,所以您在工具,性能等方面獨樹一幟。

+0

是否有可能在運行時重新加載衛星DLL?這樣可以讓我堅持使用標準資源 – 2009-10-06 10:14:44

+0

一般來說,卸載任何程序集是不可能的,除非將其加載到AppDomain中,然後刪除整個程序。考慮到域之間的遠程處理開銷,我認爲這不會是資源的良好解決方案。話雖如此,一種可能性是使用衛星資源程序集作爲規範存儲,但將其緩存在字典中。換句話說,將程序集加載到AppDomain中,將其複製到本地字典中,然後卸載AppDomain。兩全其美? – 2009-10-06 13:09:23

相關問題