我正在寻找在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();
答案 0 :(得分:0)
我假设你的编辑意味着:
在global.asax.cs中:
Application["a"] = new classname();
在classname.cs中
public static class classname {}
在这种情况下,它们与(classname)Application["a"]
将引用类名类的实例的大异常大致相同,而在第二个示例中,对{{ 1}}将调用classname类的静态方法。
我会选择静态类的静态方法,而不是存储在Application中的实例的方法,尽管我会仔细考虑classname中的方法,因为它们可以被同时调用人们可以立即访问该网站。