我正在编写一个静态类来记录日志,以便在我开发的解决方案中使用。有几个组件可以使用它,例如控制台应用程序,ASP.NET应用程序等。
为了使日志正常工作,需要先进行一些初始启动配置,然后才能使用它,并且还需要在每个应用程序完成后进行一些清理。
有没有一种方法可以在.NET中执行此操作而不必从解决方案中的每个应用程序中明确调用StartLog()和FinishLog()方法?或以另一种方式看待这个问题?
我一直在考虑在每个Log()方法中使用锁来检查日志记录类是否已初始化,但是性能和复杂性方面的潜在开销使我感到恐惧。
最佳答案
您可以在事物的启动端使用类型初始值设定项(例如静态构造函数)-首次使用该类时会自动调用该类型初始值设定项。
检测关闭更加困难... AppDomain.ProcessExit
和 AppDomain.DomainUnload
可能对您来说足够了...只需订阅事件并做出相应的 react 即可。
关于.net - 如何在应用程序启动和关闭时自动在静态类中调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/797881/