C# · 12月 29, 2021

c# – 如何创建全局变量,ASP.NET,全局asax

我有一些几乎在整个网站上经常使用的数据层类.

我以前在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 filevar 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

但是真的,这里更大的问题是为什么需要使用全局变量?我猜你真的不需要他们,可能会有一个更好的大图片解决方案.