我有一个从C++ COM客户端调用的C#.NET程序集。当客户端进程显式释放COM对象时,CCW释放其内部引用,从而使.NET对象有资格进行垃圾回收。
如果.NET对象具有打开日志文件的静态构造函数,该怎么办?是否有一种优雅的解决方案来关闭日志文件,而无需客户端的明确请求?
TIA。
最佳答案
使用AppDomain.ProcessExit EventHandler进行一些测试之后,似乎是关闭日志文件的不错选择。
关于.net - COM可调用包装程序和.NET对象生存期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2118111/