Welcome 微信登录

首页 / 网页编程 / ASP.NET / 扩展ASP.NET 2.0资源提供程序模型(1)

扩展ASP.NET 2.0资源提供程序模型(1)2010-12-06摘要: Microsoft ASP.NET 2.0 在本地化 Web 应用程序方面进行了许多奇妙的改进。即使有了所有这些奇妙的优点,但在本地化站点后不久,您可能还会开始考虑扩展性。本文将帮助您应用 ASP.NET 的扩展功能处理企业本地化方案并改进本地化开发过程。

简介

ASP.NET 2.0 在本地化 Web 应用程序方面进行了许多奇妙的改进。我曾在 MSDN 文章“ASP.NET 2.0 Localization Features: A Fresh Approach to Localizing Web Applications(英文)”中介绍了这些新功能。

熟悉了这些新的本地化功能后,您将立即注意到以下方面:

• 现在通过 Visual Studio 2005 可以轻松地生成各页面的资源,在页面设计视图中调用“Generate Local Resource”(生成本地资源)菜单项即可。

• 借助于更好的资源编辑器和强类型化访问,创建和使用全局资源要简单得多。

• 使用声明性本地化表达式,可以很轻松地将资源条目映射到控件属性和内容区。

• ResourceManager 不再需要手动安装,因为 ResXResourceProviderFactory 协同从本地或全局资源检索资源条目,根据需要分配 ResourceManager。

• 自动检测浏览器区域首选项并将该区域分配给请求线程,从而更易于尊重用户(甚至匿名用户)的区域首选项。

即使有了所有这些奇妙的优点,我们往往还想要更多,这并不奇怪。使用这些重大功能本地化站点后不久,您可能开始考虑一些其他事了,例如:

• 如何从备选位置(如单独的资源程序集或数据库源)提取资源?

• 如何管理既使用一些本地和全局资源又有替代数据源的混合环境?

• 如何能控制资源的来源并继续利用 ASP.NET 2.0 资源提供程序模型、本地化表达式及其他设计器集成功能?

• 如何利用现有的本地化功能和可用的扩展性选项,以更好地满足我的开发环境及本地化过程的需要?

这就是可扩展性为何如此重要的原因。有多种方式可扩展 ASP.NET 本地化功能并与开发环境交互。本文是三部分系列文章的第一篇,将帮助您应用 ASP.NET 的扩展功能处理企业本地化方案并改进本地化开发过程。

在本文中,我将重点介绍此类功能,使您能够从备选存储位置检索资源,并与页面解析、编译和运行时执行集成。我将说明如何组合使用自定义资源提供程序、自定义表达式构建器及其他支持的可扩展类型来实现这一目的。本系列文章的第二篇将显示如何通过将所选的资源存储与 Visual Studio 2005 中的内置高效功能集成,以进一步改进开发过程。第三篇文章将给出处理复杂资源层次结构(例如,可支持客户端定制)的备选方案。

哎哟,我的资源应去哪里?

将本地化的资源合并到 Web 站点往往是一件痛苦的工作。生成资源通常很难,组织翻译资源往往需要托管进程,但 Web 站点中资源的更为困难方面是知道资源中应包括哪些内容、如何分配这些资源及哪些因素将影响最佳性能和维护性。