如何访问在global.asax.cs中创建的属性?

时间:2012-02-08 17:41:15

标签: asp.net webforms

我正在从Application_Start的{​​{1}}中的web.config中读取两个值。来自web.config的字符串值将分配给它们的公共属性,也在Global.asax.cs中定义。

如何从另一个类,方法和命名空间访问global.asax.cs文件中的属性?

更新#1 这比我想象的要复杂得多(或者我可能只是让它变得复杂)。我想在普通的ol'类库中引用这些属性的类,我无法访问httpcontext(或者我不知道如何访问它)。

2 个答案:

答案 0 :(得分:5)

将当前应用程序实例转换为Global类型并访问其中的属性。

var app = (Your.App.Namespace.Global)HttpContext.Current.ApplicationInstance;
var x = app.YourProperty;

答案 1 :(得分:1)

如果Global.asax.cs没有操作值,那么只需像在global.asax.cs中那样读取web.config中的值。

但是,如果Global.asax.cs确实操纵了值,那么您可以将值写入“Application”对象。

    void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup

        Application.Add("Foo", "Bar");

    }

最后,您可以将要显示的属性标记为Global as static。

    public static string Abc { get; set; }
    void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup

        Abc = "123";

    }
相关问题