ePe*_*man 3 c# asp.net static initialization static-constructor
在我的类我有一个字符串对象的静态字典,其中包含大量的项目(它从一个文件读取并初始化它们)我写了一个静态构造函数,这需要几秒钟,但我想做一次为了更快,因为我在ASP.Net中这样做,我希望我的网站不要有这个开销,我该怎么办?如果这个构造函数为每个对象运行,那么我正在考虑一些方法,但我想我必须在用户运行的网站的每个页面中运行此方法,所以我想再次它会是相同的,我是对的吗?什么是初始化一大组变量的解决方案?谢谢
Jon*_*eet 16
对于类型,每次运行一次AppDomain.每个实例不一次.从C#4规范,第10.12节:
封闭类类型的静态构造函数在给定的应用程序域中最多执行一次.静态构造函数的执行由应用程序域中发生的以下第一个事件触发:
- 创建类类型的实例.
- 引用类类型的任何静态成员.
请注意关于它的部分是每个封闭的类.因此,如果你有一个泛型类型Foo<T>,那么它Foo<string>是一个单独的类型Foo<object>(etc),将有单独的静态字段,并将单独调用其静态构造函数.
| 归档时间: |
|
| 查看次数: |
3033 次 |
| 最近记录: |