2012-08-08 45 views
1

我有一個基於MVC的雲項目,該項目目前支持兩種文化,瑞典和法國Windows Azure雲的最佳實踐本地化

現在取決於我的客戶對我想要的資源文件被創建,根據他的文化

現在的問題是,我不想重新部署到Azure雲,仍然要加入我的資源文件動態

是可能的,如果我使用遠程桌面

直接複製該DLL特定區域性天青

我已經試過這是我的本地機器,它失敗了,但是當我編譯我的解決方案新的DLL的加入到bin文件夾中的新的文化合作

什麼可以爲雲計算的最佳方法基於本地化其中DB命中是一個主要的問題,因爲它昂貴

回答

0

我會建議看看存儲在BLOB存儲衛星程序集,並讓你的應用程序使用後臺任務定期從特定的BLOB容器中獲取所有程序集。您可以在Web角色上喚醒後臺進程並查看BLOB容器,以及查看它在bin文件夾中的衛星程序集。如果它在BLOB容器中找到新的程序集(或更新的程序集),則可以將其拉下。

我沒有在很長一段時間與衛星組件的工作,所以我不知道你是否可以更新一個是在使用或不使用,或者如果你在bin下降新的,如果他們只是馬上開始工作。如果這樣的「熱插拔」的做法不工作,那麼你至少可以使用類似的邏輯,在啓動任務去獲得從BLOB存儲組件,然後就執行更新的服務配置(對付RoleEnvrionmentChanging事件) 。這不會是你完全重新部署的想法。

0

不要使用RDP來更改您的解決方案。 (如果內部出現任何問題,Azure有租戶可以使用它的cspkg恢復應用程序,在這種情況下,通過RDP完成的更改不會反映出來) 您可以嘗試將資源文件放入Azure blob並在需要時選擇它。

3

作爲MikeWo解決方案的替代方案,您可以查看創建自定義ResourceProviderFactory。有an example on MSDN,告訴你如何創建一個可以加載外部程序集的示例ExternalResourceProviderFactory。

你可以修改這個類,並將它從下載Blob存儲的組件。創建自定義ResourceProviderFactory後,您可以簡單地將其添加到您的web.config中,無需使用啓動任務:

<globalization uiCulture="auto" culture="auto" 
    resourceProviderFactoryType="CustomResourceProviders.ExternalResourceProviderFactory, CustomResourceProviders, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f201d8942d9dbbb1" />