c# – .NET中静态变量的生命周期

前端之家收集整理的这篇文章主要介绍了c# – .NET中静态变量的生命周期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用一些配置设置的扩展方法.我已经声明为静态.
public static class Extensions
{
    static string _mailServer = ConfigurationManager.AppSettings["MailServer"];
    // ... etc    

    public static void SendEmailConfirmation(this IOrder order) { }
}

我只是想检查一下,这是做我想要的,因为我不是100%肯定.这个想法是,我不想继续阅读这些值,我希望他们读取一次,并在Web应用程序的一生中进行缓存.这是会发生什么事吗?谢谢

解决方法

(更新了KeithS的澄清,直到第一次使用它们才被读取)

他们将在第一次被使用时被读取,然后保留到AppDomain停止或回收,这可能是你想要的.

也就是说,ASP.NET应用程序在AppDomain中运行.这是他们是多个请求的驻留和可用,而不必为每个单独的请求启动.您可以配置他们的生活时间,回收时间等.静态变量与应用程序一起死亡,因此只要应用程序驻留在应用程序域中就可以生存.

原文链接:https://www.f2er.com/csharp/97506.html

猜你在找的C#相关文章