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

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

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么