【问题标题】:multiple resource files versus single resource file多个资源文件与单个资源文件
【发布时间】:2013-11-11 16:14:09
【问题描述】:

这个问题是关于性能的

我正在开发 MVC4,我想支持多语言视图。

我为每种语言使用一个资源文件,如下所示:

Multi.resx For English as default
Multi.ar.resx for Arabic 
Multi.fr.resx for Frensh

在指定文化之后,我会在我的观点中这样做

@Multi.Name

但是,我设置断点来检查 @Multi 的值,实际上它包含了我资源中的所有键。想象一下所有这些:P

我的问题是:如果我为每个视图使用一个资源文件,它的性能会更好吗?还是在我运行应用程序时会加载所有资源,即使我为每个视图使用多个资源文件?

我真的不太会英文,如果你不明白我的问题,请让我澄清一下。

【问题讨论】:

    标签: c# performance asp.net-mvc-4 resources


    【解决方案1】:

    我知道这是旧线程,但我也在寻找答案。 单个(和巨大的资源)文件会影响性能吗?

    经过研究,我发现了这个link,我想和你分享(以防你还在寻找)。

    嗯,简短的回答是NO,它不会影响性能。但是,在大型团队中工作时可能会出现问题(每个程序员都需要修改相同资源文件)并且合并更改可能很麻烦。

    这是来自MSDN的指南:

    在全局和本地资源文件之间进行选择

    您可以在 Web 应用程序中使用全局和本地资源文件的任意组合。通常,当您希望在页面之间共享资源时,您将资源添加到全局资源文件中。当您想以编程方式访问文件时,全局资源文件中的资源也会被强类型化。

    但是,如果您在其中存储所有本地化资源,全局资源文件可能会变得很大。如果多个开发人员在不同的页面上工作但在一个资源文件中,则全局资源文件也可能更难管理。

    本地资源文件可以更轻松地管理单个 ASP.NET 网页的资源。但是您不能在页面之间共享资源。此外,如果您有许多必须本地化为多种语言的页面,您可能会创建许多本地资源文件。如果站点很大,有很多文件夹和语言,本地资源可以快速扩展应用程序域中的程序集数量。

    当您更改本地或全局默认资源文件时,ASP.NET 会重新编译资源并重新启动 ASP.NET 应用程序。这可能会影响您网站的整体性能。如果添加附属资源文件,不会导致重新编译资源,但 ASP.NET 应用程序会重新启动。

    我希望这可以帮助寻求相同答案的人。

    干杯, 山姆

    【讨论】:

      【解决方案2】:

      这个问题描述了您的问题的解决方案(实际回答):Split Large Resource File into multiple files physically while compiler treat it as one

      【讨论】:

      • 我认为这不是我的问题,我确实知道如何创建多个资源,但我想问的是,当我使用一个资源文件时,这是否是相同的性能
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      相关资源
      最近更新 更多