У меня есть сборка C# .NET, которая вызывается из COM-клиента C++. Когда клиентский процесс явно освобождает объект COM, релиз CCW это внутренняя ссылка, что делает объект .NET подходящим для сбора мусора.COM Callable Wrapper и время жизни объекта .NET
Что делать, если объект .NET имеет статический конструктор, который открывает файл журнала? Есть ли элегантное решение закрыть файл журнала без явного запроса от клиента?
TIA.
Вызывается ли Finalizer при завершении клиентского процесса? –
Если это COM-сервер в процессе: да. –
После некоторого тестирования с использованием AppDomain.ProcessExit EventHandler кажется хорошим выбором для закрытия файла журнала. –