asp.net在应用程序范围内以3种方式声明全局变量/类。哪一个最好?

时间:2010-03-03 20:14:38

标签: c# asp.net class static global-variables

我正在寻找在asp.net应用程序范围中使用静态类的这3种方法之间的差异。 所有这些都指向同一个班级吗? 哪一个是优选的>对象<在global.asax或static class中以声明方式定义?

的示例:

<object runat="server" scope="application" class="classname" ID="objID"></object>

VS

public static class classname {}

VS

Application("a") = new classname();

1 个答案:

答案 0 :(得分:0)

我假设你的编辑意味着:

在global.asax.cs中:

Application["a"] = new classname();

在classname.cs中

public static class classname {}

在这种情况下,它们与(classname)Application["a"]将引用类名类的实例的大异常大致相同,而在第二个示例中,对{{ 1}}将调用classname类的静态方法。

我会选择静态类的静态方法,而不是存储在Application中的实例的方法,尽管我会仔细考虑classname中的方法,因为它们可以被同时调用人们可以立即访问该网站。