我从web.config中读取两个值Application_Start我的Global.asax.cs.来自web.config的字符串值将分配给它们的公共属性,也在Global.asax.cs中定义.
如何从另一个类,方法和命名空间访问global.asax.cs文件中的属性?
更新#1这比我想象的要复杂得多(或者我可能只是让它变得复杂).我想在普通的ol'类库中引用这些属性的类,我无法访问httpcontext(或者我不知道如何访问它).
将当前应用程序实例转换为您的Global类型并访问其中的属性.
var app = (Your.App.Namespace.Global)HttpContext.Current.ApplicationInstance;
var x = app.YourProperty;
Run Code Online (Sandbox Code Playgroud)
如果 Global.asax.cs 不操作这些值,则只需从 web.config 中读取值,就像您在 global.asax.cs 中所做的那样。
但是,如果 Global.asax.cs 确实操作了这些值,那么您可以将这些值写入“Application”对象中。
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
Application.Add("Foo", "Bar");
}
Run Code Online (Sandbox Code Playgroud)
最后,您可以将要从全局公开的属性标记为静态。
public static string Abc { get; set; }
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
Abc = "123";
}
Run Code Online (Sandbox Code Playgroud)