加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 03:44:51 所属栏目:百科 来源:网络整理
导读:我有一些几乎在整个网站上经常使用的数据层类. 我以前在Windows应用程序上工作,我曾经在模块(vb.net)中创建它的对象,但现在我在C#和ASP.NET上工作. 现在我需要做同样的事情,所以我不需要在每个页面上多次创建相同的对象. 我想使用像使用全局变量的东西. 我该
我有一些几乎在整个网站上经常使用的数据层类.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读