IProcessInitializer 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
支援當 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
- 衍生
- 屬性
備註
如果你想在伺服器程序(Dllhost.exe)啟動或關閉時執行初始化或關機程式碼,就在服務元件上實作 IProcessInitializer 介面方法。
COM+ 提供 StartupShutdown Dllhost.exe 開始與結束時的事件。 此功能允許安裝在 COM+ 伺服器應用程式中的任何 COM+ 元件(以下稱為伺服器元件)執行自訂初始化與清理程式碼。 每個實作介面 IProcessInitializer 元件的實例會被建立並儲存,直到整個流程結束。 當實作於 ServicedComponent時, InitializesServerApplication 元件集合中的 COMAdminCatalogObject 參數需在元件註冊時設定為 , true 以便在啟動與關機時呼叫介面方法。
利用 Startup and Shutdown 事件,你可以初始化資源、建立連線、初始化共享資料,並執行清理程式碼。 然而,你不能存取 COM+ 專屬的狀態,因為伺服器元件的實例尚未建立。 此外,與Startup事件中的Shutdown程式碼應盡快回傳,因為系統在啟動程序後,只需等待 90 秒 Dllhost.exe 準備接受啟動。 若 Dllhost.exe 在 90 秒內未發出準備就緒的訊號,系統會終止該程序;因此,所有初始化處理都必須在此時間內完成。 參與初始化的每個伺服器元件都必須支援該 IProcessInitializer 介面。 啟動 DllHost.exe 時,COM+ 會建立所有請求此服務的伺服器元件,呼叫QueryInterfaceIProcessInitializer介面,並呼叫函Startup式。 同樣地,當 DllHost.exe 程序關閉時,會呼叫先前儲存的介面指標函 Shutdown 式。
方法
| 名稱 | Description |
|---|---|
| Shutdown() |
執行關機動作。 Dllhost.exe 關閉時會打電話。 |
| Startup(Object) |
啟動時執行初始化。 Dllhost.exe 開始時打電話。 |