代码之家  ›  专栏  ›  技术社区  ›  NetHawk

ASP.NET中的可配置内容系统

  •  2
  • NetHawk  · 技术社区  · 14 年前

    我需要为我们的Web应用程序中的所有文本设计一个可配置的内容系统,它将我们的翻译需求与用户组、用户子组和单个用户配置给定标签、错误消息或系统文本的功能联系在一起。

    因为所有东西都需要通过接口进行配置,所以资源文件看起来不像是解决方案。

    我不希望从盒子里找到这样的东西。您将如何着手设计这样的东西,或者您将开始配置什么以获得此功能?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Clicktricity    14 年前

    我通过创建一个数据库支持的自定义资源提供程序,并设置 <globalization> 在web.config中标记以指向自定义提供程序。见: http://msdn.microsoft.com/en-us/library/aa905797.aspx

    然后在您的页面和代码中,您可以参考 GetGlobalResourceObject GetLocalResourceObject 获取本地化资源。

    虽然这主要是为多种语言设计的,但是我将它与自定义区域设置功能结合使用,为不同的用户组提供不同的标签、错误消息和文本。

        2
  •  1
  •   ChrisLively    14 年前

    沿着以下行创建一个简单表:

    table Resources {
      language varchar(100)
      label varchar(100) /* you might consider a different key type, but this would be easiest on coding */
      value varchar(max)
    }
    

    您可以将整个表缓存在Web服务器上以在本地执行查找,并在值更改时使缓存过期。

    这是一件相对容易的事情。