【问题标题】:Why should I use global resources?为什么要使用全球资源?
【发布时间】:2010-01-14 23:31:10
【问题描述】:

在某些项目(Web 应用程序项目)中,我正在使用全局资源文件。 (存储在 App_GlobalResources 文件夹中)

专业版: 真的很容易使用:例如在标记中

Property="<%$ Resources:FILENAME, KEY %>"

骗局: - 据我所知,我无法即时更改资源的内容。因此,如果客户打电话告诉我更改法语实现中的字符串,我需要部署一个新的二进制文件。使用 SessionMode="InProc" 时可能会导致不良行为,例如会话丢失等。

我宁愿更改 XML 文件中的一行,以确保应用程序的最长正常运行时间。我认为可以编写自己的本地化类,将 XML 文件实现为底层数据源(使用缓存等)。那么问题来了,这样做有什么好处吗?

谁能告诉我更多关于使用全局资源文件的优点缺点? (而且我仍在听取有关在正在运行的 Web 应用程序中更改资源文件的建议;))

那么使用全球资源有什么好处呢?

编辑:我想坚持使用 Visual Studio 或 .net 框架中的“内置”解决方案,而不是使用(未知的)第 3 方库。

【问题讨论】:

    标签: c# asp.net localization resources


    【解决方案1】:

    它是提供者模型,因此您可以更改数据源。例如,您可以将资源存储在更适合数据驱动应用程序的数据库中。因为,您可以简单地编辑、缓存、安装和更新它们。访问here

    【讨论】:

    • 谢谢,您的遮阳篷正朝着预期的方向前进。如果我理解您发布的链接正确,那么开发人员编写了自己的 DDL 来实现基于数据库的本地化。如果可能,我想使用“内置”框架功能。
    • 是的,最好使用可用的功能。在这种情况下,您不需要任何 3rd 方库。正如我所说,您可以编写自己的资源提供程序来使用数据库而不是资源文件。因此,您可以做任何您想做的事情。
    • 好的,那我再看看=)
    • west-wind.com/presentations/wwDbResourceProvider 有源代码可用。它可以作为起点,如果您需要扩展,可以更改
    【解决方案2】:

    全局资源允许本地化您的 Web 应用程序。您可以拥有您需要支持的每种语言的全球资源,并且您不必复制 aspx 文件。它还允许用户在运行时切换到他们想要的语言。

    看这里:

    Walkthrough: Using Resources for Localization with ASP.NET
    ASP.NET Web Page Resources Overview

    【讨论】:

    • 是的,我知道本地化的工作原理。请再次阅读我的问题。
    • 用户可以在运行时切换语言,无需修改任何代码。
    • 全局资源中的动态更新值不会立即反映,只有在重新启动 IIS 后才能反映,请知道吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多