IProcessInitializer Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Поддерживает методы, которые могут быть вызваны при запуске или завершении работы компонента COM.
public interface class IProcessInitializer
[System.Runtime.InteropServices.Guid("1113f52d-dc7f-4943-aed6-88d04027e32a")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IProcessInitializer
[<System.Runtime.InteropServices.Guid("1113f52d-dc7f-4943-aed6-88d04027e32a")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IProcessInitializer = interface
Public Interface IProcessInitializer
- Производный
- Атрибуты
Комментарии
IProcessInitializer Реализуйте методы интерфейса для обслуживаемого компонента, если требуется выполнить код инициализации или завершения работы при запуске или завершении серверного процесса (Dllhost.exe) соответственно.
COM+ предоставляет Startup
события и Shutdown
, когда Dllhost.exe начинается и заканчивается. Эта функция позволяет любым компонентам COM+, установленным в серверном приложении COM+ (далее называемые серверными компонентами), выполнять пользовательскую инициализацию и очищать код. Экземпляр каждого компонента, реализующего IProcessInitializer интерфейс , будет создан и сохранен в течение всего процесса. При реализации ServicedComponentв параметре InitializesServerApplication
в COMAdminCatalogObject
коллекции Components необходимо задать значение true
во время регистрации компонента, чтобы методы интерфейса вызывались во время запуска и завершения работы.
С помощью событий и можно инициализировать Shutdown
ресурсы, создавать подключения, инициализировать Startup
общие данные и выполнять код очистки. Однако доступ к состояниям, характерным для COM+, не требуется, так как экземпляры серверных компонентов еще не созданы. Кроме того, код в Startup
событиях и Shutdown
должен возвращаться как можно быстрее, так как система ожидает Dllhost.exe только 90 секунд, чтобы подготовиться к приему активаций после запуска процесса. Если Dllhost.exe не сообщает о готовности в течение 90 секунд, система завершает процесс; таким образом, вся обработка инициализации должна быть завершена в течение этого периода времени. Каждый серверный компонент, участвующий в инициализации, должен поддерживать IProcessInitializer интерфейс . При DllHost.exe запуска COM+ создает все серверные компоненты, которые запросили эту службу, вызывает QueryInterface
IProcessInitializer интерфейс и вызывает функцию Startup . Аналогичным образом, когда процесс DllHost.exe завершает работу, он вызывает функцию Shutdown для ранее сохраненных указателей интерфейса.
Методы
Shutdown() |
Выполняет действия для завершения работы. Вызывается при закрытии программы Dllhost.exe. |
Startup(Object) |
Выполняет инициализацию при запуске. Вызывается при запуске Dllhost.exe. |