gpt4 book ai didi

c# - ASP.Net 本地化性能

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:49 24 4
gpt4 key购买 nike

在 ASP.Net 中,您可以为您希望在应用程序中支持的每种文化创建一个资源文件。

例如(在资源设计器中)HelloWorld = "Hello World"

然后您可以在代码中引用此资源文件。

Label1.Text = Resources.General.HelloWorld

注意:General是我的通用资源文件的名字。

这意味着 Visual Studio 已编译资源,以便您可以类型安全地访问它们(+ 很有用的智能感知)。

但是,这有多有效呢?

  • .Net 是否创建了一个包含常量的类,这些常量在预运行编译中以某种方式动态链接 - 所以它们有点“内置”到程序集中?

  • 或者在请求资源时扫描文件(某处)以获得本地化值。

如果发生这种情况,似乎第一个更有效率。本地化是否会增加应用程序的性能开销。如果本地化为网站增加了有值(value)的可用性,我认为“合理”的性能损失是可以接受的。

谢谢。

最佳答案

查看 Resource.Designer.cs 文件。

基本上,VS.NET 创建一个具有静态属性的类,它使用 ResourceManager 类通过常量键访问本地化资源。所有字符串和其他资源都作为资源存储在单独的(特定于文化的)卫星程序集中。

CLR根据Thread.Current.CurrentUICulture加载相应的附属资源程序集。

性能方面,由于ResourceManager将资源缓存在HashTable中,应该是比较快的。

关于c# - ASP.Net 本地化性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4277857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com