c# - 如何在 ASP.NET MVC 中的应用程序生命周期中仅初始化和取消初始化一次

标签 c# asp.net asp.net-mvc asp.net-mvc-5

我有一个静态类,我需要在第一次使用该类期间初始化一些代码,并在应用程序进程终止时进行初始化。实际上,init 方法使用 PInvoke 方法调用 native C++ api。我知道我可以使用静态构造函数,但现在我需要在最后调用 native de-init 方法,

public static class MyClass
{
    static MyClass()
    {
        MyInitFirstTime();
    }        

最佳答案

您可以使用 Application_Start 和 Application_End “特殊方法”作为 documented by Microsoft 来代替静态类。 .

The Application_Start and Application_End methods are special methods that do not represent HttpApplication events. ASP.NET calls them once for the lifetime of the application domain, not for each HttpApplication instance.

另一个选项是覆盖 HttpApplication.Dispose methodDisposed event 。如果您决定覆盖 Dispose(),请不要忘记调用基类 Dispose() 方法。

关于c# - 如何在 ASP.NET MVC 中的应用程序生命周期中仅初始化和取消初始化一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62282638/

相关文章:

asp.net-mvc - MvcHandler.ProcessRequest 方法何时调用,由谁调用?

c# - 图像处理 - 在不去除的情况下减少物体厚度

jquery - 根据内容 Bootstrap 井大小

c# - 如何在请求结束时释放资源并在 ASP.NET 5/Core 中处理注入(inject)的服务?

asp.net-mvc - azure 服务配置文件是否会覆盖 web.config 文件?

jquery - MVC 损坏的图像路径

c# - 需要在 Asp.net 中创建日期选择器?

c# - 检查 XML 中是否存在元素

c# - 选择随机颜色,特定颜色除外

c# - 在azure中托管共享dll