我正在从Application_Start
的{{1}}中的web.config中读取两个值。来自web.config的字符串值将分配给它们的公共属性,也在Global.asax.cs中定义。
如何从另一个类,方法和命名空间访问global.asax.cs文件中的属性?
更新#1 这比我想象的要复杂得多(或者我可能只是让它变得复杂)。我想在普通的ol'类库中引用这些属性的类,我无法访问httpcontext(或者我不知道如何访问它)。
答案 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";
}