如果我们在Global.asax中声明一个静态变量,那么如何在ASP.NET页面中访问它?
<script runat=server"> public static object myObject = new MyClass(); // Application_Start() and other stuff goes here. </script>
并且,这是一个存储全局对象(所有请求的相同实例)的好主意吗?
解决方法
将对象创建为单例可能更好,而不是将其作为“全局”对象.在应用程序启动时实例化它,并在应用程序端销毁它.只要您不需要它跨越Web场,您就会非常安全.
请参阅此文章及其评论.
http://weblogs.asp.net/jeff/archive/2007/09/21/how-do-you-get-a-true-singleton-in-an-asp-net-app.aspx