【问题标题】:Moving global resources to custom folder将全局资源移动到自定义文件夹
【发布时间】:2011-02-10 00:13:51
【问题描述】:

我有一个 ASP.NET MVC2 应用程序,我不仅需要支持多种语言,还需要支持每种语言的多个版本。我通常通过使用 App_GlobalResources 文件夹中的 resx 文件来解决本地化要求,只要我不需要支持同一语言的多个资源集,这就会很好地工作。

这是一个问题,因为每个客户都应该能够指定一组资源,并且他们可能使用相同的语言。

我最初的想法是建立一个文件结构,其中每个客户都有一个单独的文件夹,例如 App_Data。在这个客户文件夹中,我会放置配置文件和资源。但是我需要一种方法来告诉应用程序它应该在这个特定文件夹中而不是 App_GlobalResources 中查找资源。

所以我的问题是:这可行吗?我必须做些什么才能让它发挥作用?这是解决此类问题的坏方法吗?如果情况确实如此:有人对更好的解决方案有建议吗?

将感谢所有输入。

【问题讨论】:

    标签: asp.net-mvc resources


    【解决方案1】:

    我通常使用自定义ResourceProviderFactory 将资源存储在数据库中。如果您可以通过虚拟路径区分不同的客户,那么创建自定义提供程序以查看特定文件夹应该不难。

    【讨论】:

    • 我认为这是一个很好的解决方案!将尝试它,并在测试时回来!谢谢!
    【解决方案2】:

    但是我需要一种方法来告诉应用程序它应该寻找 此特定文件夹中的资源,而不是 App_GlobalResources。

    您可能会考虑编译资源,以便将它们部署为 DLL,而不是在运行时编译。为此,您必须将您的资源移至标准 App_GlobalResources 中。

    这篇文章很好地解释了这样做的好处:

    http://odetocode.com/Blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspx

    【讨论】:

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