我有一些几乎在整个网站上经常使用的数据层类.
我以前在Windows应用程序上工作,我曾经在模块(vb.net)中创建它的对象,但现在我在C#和ASP.NET上工作.
现在我需要做同样的事情,所以我不需要在每个页面上多次创建相同的对象.
我想使用像使用全局变量的东西.
我该怎么办?
是通过使用global.asax来完成的
我可以在global.asax中创建我的对象
我是一个新的asp.net,所以尝试给语法一个解释.
解决方法
实际上并不需要使用global.asax.您可以制作一个将对象公开为静态的类.这可能是最简单的方法
public static class GlobalVariables { public static int GlobalCounter { get; set; } }
您也可以使用Application State甚至ASP.NET Cache,因为这些在所有会话中共享.
但是,如果我在这种情况下,我将使用像Spring.NET这样的框架来管理我所有的Sington实例.
以下是使用Spring.NET获取类实例的一个简单示例
//The context object holds references to all of your objects //You can wrap this up in a helper method IApplicationContext ctx = ContextRegistry.GetContext(); //Get a global object from the context. The context knows about "MyGlobal" //through a configuration file var global = (MyClass)ctx.GetObject("MyGloblal"); //in a different page you can access the instance the same way //as long as you have specified Singleton in your configuration