【问题标题】:How to customize .net resource files for different customer?如何为不同的客户定制 .net 资源文件?
【发布时间】:2017-08-15 10:05:36
【问题描述】:

我有一个 asp.net mvc 应用程序,它使用不同语言的 Resx 文件。这些文件存在于 Web 项目和另一个服务层中。

我现在想为特定客户定制一些标签(他们有帐户并登录到我们的网络应用程序)。是否可以通过更少的代码更改来归档?

已经找到了一些类似下面的文章,但切换到使用数据库似乎需要做很多工作。

似乎使用自定义资源提供程序来加载基于客户的 resx 文件可能会有所帮助,但我想到的困难是:

  • 如何将 customerID 传递给资源提供者。
  • 如何从自定义目录(如 \bin\de\customer1*.resources.dll 或 \bin\it\customer1*.resources.dll)加载资源 dll 文件

【问题讨论】:

  • 不知道将 customerID 传递给资源提供者您可能需要在控制器中使用 UserPrincipal 属性
  • 是的,感谢@MahmoudHboubati 指出。现在我将了解如何加载客户特定的资源...

标签: asp.net-mvc globalization resx


【解决方案1】:

很好,我有一个可行的解决方案! (基于Afana的帖子),代码更改应该非常少(创建xml文件,运行ResourceBuilder.exe)。

我所做的自定义很少:

  • 修改ResourceBuilder以生成部分类中的所有键
  • 手动创建 Resources.provider.cs,为单个客户实例化 XmlResourceProvider 或接受默认的 xml 资源

  • 如果这有帮助 here is the poc - 将 CustomerId / uiCulture 更改为测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多