如果我们在static
中声明了Global.asax
变量,那么如何在ASP.NET
页面中对其进行访问?
<script runat=server">
public static object myObject = new MyClass();
// Application_Start() and other stuff goes here.
</script>
而且,这是一个存储全局对象(所有请求都是相同的实例)的好主意吗?
答案 0 :(得分:4)
myObject应该可以使用
在global.asax和ASP.NET页面内的所有方法中使用Global.myObject
答案 1 :(得分:0)
就个人而言,我强烈反对在ASP.NET中使用全局变量。几年前我的经历比较糟糕。
您应该同步对全局MyClass
实例成员的访问,以确保它在多线程方案中正常工作(如果有多个请求进入,则可能/必须这样做。)
您还可以使用ApplicationState
according to Microsoft, you shouldn't。
答案 2 :(得分:0)
最好将对象创建为单例,而不是将其作为“全局”对象。在应用程序启动时实例化它,并在应用程序端销毁它。只要您不需要它跨越Web场,您就会非常安全。
请参阅此帖及其评论。
答案 3 :(得分:0)
全球未定义 这对我有用:
ASP.global_asax 示例
ASP.global_asax.DefaultModel.GetTable( “标签”);