正确使用global.asax变量的方法

时间:2014-08-19 07:59:56

标签: c# asp.net webforms

我有一个简单的global.asax文件,它在启动时运行一些代码并将句柄存储在变量中。我想从项目中的其他文件中访问该变量。这是我的global.asax:

<%@ Application Language="C#" %>
<script runat="server">

    static JustTesting justTesting;
    static public JustTesting JustTesting { get { return justTesting ; } }

    void Application_Start(object sender, EventArgs e) 
    {
        //my code here
    }

    void Application_End(object sender, EventArgs e) 
    {
        //  Code that runs on application shutdown

    }

    void Application_Error(object sender, EventArgs e) 
    { 
        // Code that runs when an unhandled error occurs

    }
</script>

当我想使用那个变量时......

ASP.global_asax.JustTesting

...有效,但我确信必须有一种更优雅的方式来调用它,而不必一直添加ASP.global_asax.

1 个答案:

答案 0 :(得分:1)

您可以使用Application对象。

读:

var x = Application["x"];

写作:

Application.Lock();
Application["x"] = "value";
Application.UnLock();

参考:http://msdn.microsoft.com/en-us/library/94xkskdf(v=vs.90).aspx

您也可以创建自己的类,该类应该是线程安全的。