c# - 如何在 ASP.NET MVC 中的应用程序生命周期中只初始化和反初始化一次
问题描述
我有一个静态类,我需要在第一次使用的类期间初始化一些代码,并在应用程序进程终止时初始化。实际上,init 方法使用 PInvoke 方法调用本机 C++ api。我知道我可以使用静态构造函数,但现在我需要在最后调用本机 de-init 方法,
public static class MyClass
{
static MyClass()
{
MyInitFirstTime();
}
解决方案
您可以使用Microsoft 记录的 Application_Start 和 Application_End “特殊方法”,而不是静态类。
Application_Start 和 Application_End 方法是不代表 HttpApplication 事件的特殊方法。ASP.NET 在应用程序域的生命周期内调用它们一次,而不是为每个 HttpApplication 实例调用一次。
另一种选择是覆盖HttpApplication.Dispose 方法或Disposed 事件。如果您决定覆盖 Dispose(),请不要忘记调用基类 Dispose() 方法。
推荐阅读
- javascript - TypeError:无法读取属性“错误”和 TypeError:无法获取
- oracle - oracle测试函数,包含带有sql developer的游标
- powershell - 将 webp 转换为 PowerShell 中的同一目录
- android - Android Compose setupWithNavController
- java - Java 中的扫描器下一个方法
- java - Spring Boot:允许特定服务以避免安全性
- javascript - 从 map 方法返回一个函数数组而不执行
- c# - 通过取自 WPF DataGrid 的 ID 选择 Revit 元素
- c++ - 从地图打印的问题
在 C++ 中 - reactjs - 更改状态值在 react-table 上无法正常工作