如何为不同的客户自定义.net资源文件?

时间:2017-08-15 10:05:36

标签: asp.net-mvc globalization resx

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

我所做的定制很少:

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

enter image description here

  • 如果这有助于here is the poc - 更改CustomerId / uiCulture进行测试。