繁体   English   中英

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

[英]asp.net declaring global variable/class in application scope 3 ways. Which one is best?

我正在寻找在asp.net应用程序范围内使用静态类的这3种方式之间的差异。 所有这些都指向同一个类吗? 在global.asax或static类内以声明方式定义的> object <哪一个更可取?

例子:

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

VS

public static class classname {}

VS

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

我假设您的编辑意思是:

在global.asax.cs中:

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

在classname.cs中

public static class classname {}

在这种情况下,它们几乎相同,但有一个大例外: (classname)Application["a"]将引用classname类的实例 ,而在第二个示例中,对classname.MethodNameGoesHere()任何调用都将被调用classname类的静态方法。

我会选择静态类的静态方法,而不是Application中存储的实例的方法,尽管那时我会非常仔细地考虑classname中的方法的作用,因为可能会同时调用它们,因为可能会有很多人立即访问该网站。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM