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

发布于 2025-01-03 12:50:10 字数 287 浏览 0 评论 0原文

我正在从 Global.asax.csApplication_Start 中的 web.config 读取两个值。 web.config 中的字符串值被分配给它们的公共属性,这些属性也在 Global.asax.cs 中定义。

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

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

I'm reading two values from the web.config in the Application_Start of my Global.asax.cs. The string values from the web.config are assigned to their public properties, also defined in the Global.asax.cs .

How do I access the properties in the global.asax.cs file from another class, method, and namespace?

Update #1
This is more complicated than I thought (or maybe I'm just making it complicated). The class where I want to reference these properties in a plain ol' class library and I don't have access to httpcontext (or I don't know how to access it).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄居人 2025-01-10 12:50:10

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

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

Cast the current application instance to your Global type and access the properties there.

var app = (Your.App.Namespace.Global)HttpContext.Current.ApplicationInstance;
var x = app.YourProperty;
永言不败 2025-01-10 12:50:10

如果 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");

    }

最后,您可以将要从全局公开的属性标记为静态。

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

        Abc = "123";

    }

If the Global.asax.cs doesn't manipulate the values, then simply read the values from the web.config like you already do in global.asax.cs.

However, if the Global.asax.cs does manipulate the values, then you could write the values into the "Application" object.

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

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

    }

Lastly, you can mark the property you want to expose from the Global as static.

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

        Abc = "123";

    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文