天天看点

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