天天看點

globalization與全球化

本配置節是關于配置應用程式的全球化設定。

例如如下設定

請求時出現中文(字元編碼不對),則會出現亂碼,同樣響應的頁面中的中文也會出現亂碼,正常配置時如下圖所示

globalization與全球化

設定了響應編碼為iso-8859-1或其他諸如此類ASCII讓中文顯示亂碼的編碼,則會出現

globalization與全球化

其響應的内容均使用了iso-8859-1而使得中文不能正常顯示。

假若使用了UNICODE作為響應編碼,中文能正常顯示,但是js有報錯,jquery的腳本出現亂碼。

globalization與全球化
globalization與全球化

另外在特性中有兩個特性——uiCulture和resourceProviderFactoryType 是和資源相關的,即*.resx這部分的内容,實際上資源并不局限于*.resx,這個可以參考蔣金楠老師的博文。uiCulture是指定ui界面的區域語言。resourceProviderFactoryType則是指定自定義的資源提供者工廠類的完全限定名。例如

這個類FastDoge.Bussiness.MyResourceProviderFactory繼承抽象類ResourceProviderFactory。重寫兩個方法

兩個方法差別在于前者是用的是全局資源的ResourceProvider,而後者是對于每個頁面自帶的資源的ResourceProvider。

構造的ResourceProvider實作IResourceProvider接口。實作方法

和getter屬性

GetObject方法是擷取某個資源名的資源值;ResourceReader屬性擷取的IResourceReader擷取整套資源集合的讀取器。ResourceProvider的大緻作用則是如此。

在代碼中擷取資源值時調用System.Web.HttpContext的靜态方法GetGlobalResourceObject方法和GetLocalResourceObject

參考文章

.NET的資源并不限于.resx檔案,你可以采用任意存儲形式[上篇]

http://www.cnblogs.com/artech/archive/2010/12/16/Reource_framewok_01.html

.NET的資源并不限于.resx檔案,你可以采用任意存儲形式[下篇]

http://www.cnblogs.com/artech/archive/2010/12/17/Reource_framewok_02.html

如何讓ASP.NET預設的資源程式設計方式支援非.ResX資源存儲

http://www.cnblogs.com/artech/archive/2010/12/30/ResourceProvider.html