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

前端之家收集整理的这篇文章主要介绍了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 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

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

猜你在找的C#相关文章