Я разрабатываю приложение, которое в значительной степени зависит от нескольких продуктов Microsoft Office, включая Access, Excel, Word, PowerPoint и Outlook среди прочих. Изучая взаимодействие, я обнаружил, что, начиная с VS2010 и .NET 4, нам, к счастью, больше не приходится переживать кошмары PIA.
Кроме того, я читал много статей о правильном избавлении от предметов, наиболее толковой мне показалась эта.
Однако статье уже 5 лет, а авторитетных публикаций на эту тему, насколько я знаю, не так много. Вот пример кода из приведенной выше ссылки:
' Cleanup:
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
GC.WaitForPendingFinalizers()
Marshal.FinalReleaseComObject(worksheet)
oWB.Close(SaveChanges:=False)
Marshal.FinalReleaseComObject(workbook)
oApp.Quit()
Marshal.FinalReleaseComObject(application)
Что я хочу знать по сегодняшним стандартам, насколько это точно и на что следует обращать внимание, если я рассчитываю поддерживать свое приложение в ближайшие несколько лет?
ОБНОВЛЕНИЕ:Ссылки на некоторые заслуживающие доверия статьи будут весьма признательны. Кстати, это не серверное приложение. Это будет работать в компьютерных классах, где у нас есть пользователи, взаимодействующие с офисными продуктами, которые мы создаем для них.
НАЙДЕН ЭТО:Этастатья из трех частей, вероятно, наиболее близка к авторитетному сообщению, которое я ожидал найти.