Поделиться через


Систематическое высвобождение объектов

В этом разделе приведены рекомендации по завершению работы надстроек для разработчиков надстроек и ИТ-администраторов, использующих Outlook. Дополнительные сведения см. в статье Изменения завершения работы Outlook 2010.

Изменения завершения работы надстроек в Outlook

Начиная с Outlook 2010, Outlook по умолчанию не сообщает надстройкам о завершении работы. В частности, Outlook больше не вызывает методы OnBeginShutdown(Array) и OnDisconnection(ext_DisconnectMode, Array) интерфейса IDTExtensibility2 во время быстрого завершения работы. Аналогичным образом надстройка Outlook, написанная с помощью средств разработки Office в Visual Studio 2010 или более поздней версии, больше не вызывает метод ThisAddin_Shutdown при завершении работы Outlook.

Вызовы этих методов были исключены, поскольку, несмотря на то что большинство надстроек выполняют простые задачи (например, высвобождение ссылок), некоторые из них могут синхронно с соответствующими событиями выполнять вызовы веб-служб или другие длительные операции, что приводит к значительным задержкам при завершении работы Outlook. В результате этого изменения Outlook стал лучше работать при завершении работы.

Рекомендации по завершению работы надстроек для разработчиков

Разработчикам настоятельно рекомендуется соблюдать следующие рекомендации по завершению работы надстроек. Это позволит значительно сократить длительность завершения работы приложения Outlook.

  • Надстройки должны продолжать реализовывать методы OnBeginShutdown и OnDisconnection или ThisAddin_Shutdown для освобождения ссылок и выделенной памяти, так как существуют сценарии, в которых администраторы могут отменить изменения замедление завершения работы с помощью групповой политики или пользователь может вручную отключить надстройку с помощью диалогового окна надстройки COM.

  • Разработчикам надстроек следует выполнять только те задачи, которые абсолютно необходимы при завершении работы.

  • Следует оценить быстродействие надстроек в различных сценариях с различными параметрами реестра Windows, определяющими порядок завершения работы Outlook. При необходимости следует своевременно изменять надстройки для более эффективной работы приложения Outlook.

Рекомендации по завершению работы надстроек для ИТ-администраторов

Если в организации уже развернуты надстройки, которые не поддерживают обновление до версии, совместимой с новым механизмом завершения работы Outlook, ИТ-администраторы могут использовать параметры реестра Windows, позволяющие восстановить реализованный в предыдущих версиях механизм медленного завершения работы.

Настройка отдельных надстроек

ИТ-администраторы могут включать уведомления о завершении работы для отдельных надстроек Outlook в рамках развертывания надстроек. Это действие нельзя выполнить с помощью групповой политики, однако оно позволяет обеспечить обратную совместимость для отдельных надстроек.

Для настройки таких параметров следует зарегистрировать надстройку в кустах реестра HKCU или HKLM, указав дополнительное значение. Введите следующий текст в одну строку:

HKCU\Software\Microsoft\Office\Outlook\Add-ins\<ProgID>[RequireShutdownNotification]=dword:0x1

Присвоение для него значения 0x1 позволяет надстройке получать заблокированные обратные вызовы при завершении работы Outlook. Это влияет на быстродействие завершения работы Outlook и должно оцениваться в рамках развертывания. Этот параметр следует применять только в том случае, если у надстройки есть существенные проблемы совместимости с новым механизмом завершения работы. При установке значения 0x0 реализуется поведение Outlook по умолчанию.

Глобальные параметры

ИТ-администраторы могут глобально включать уведомления о завершении работы для всех надстроек с помощью групповой политики. Такой подход рекомендуется для организаций с большим числом внутренних решений и компьютеров, на которых требуется развернуть этот параметр для обеспечения совместимости в процессе развертывания Outlook.

С помощью этого параметра можно изменить механизм завершения работы в соответствии с используемым в приложении Outlook 2007. Параметр можно развернуть с помощью групповой политики для каждого пользователя или компьютера. Введите следующий текст в одну строку:

HKCU\Policies\Microsoft\Office\Outlook\15.0\Options\Shutdown[AddinFastShutdownBehavior]=dword:0x1

Если параметру AddinFastShutdownBehavior присвоено значение 0x1, включаются уведомления о завершении работы для всех надстроек. При установке значения 0x0 реализуется поведение Outlook по умолчанию.