Share via


使用 Serviced 元件和全域組件快取

Serviced 元件 (Managed 程式碼 COM+ 元件) 應放入全域組件快取。 在某些案例中,Common Language Runtime 和 COM+ 服務可以處理不在全域組件快取中的 Serviced 元件;但在某些案例中則不行。 下列案例便可說明:

  • 如果是 COM+ 伺服器應用程式中的服務元件,含有元件的組件必須在全域組件快取中,因為 Dllhost.exe 執行的目錄與含有 Serviced 元件的目錄並不相同。

  • 如果是 COM+ 程式庫應用程式的 Serviced 元件,Runtime 和 COM+ 服務可搜尋目前目錄,以便解析對含有元件的組件參考。 在這種情況下,組件並非一定要位於全域組件快取中。

  • 如果是 ASP.NET 應用程式的 Serviced 元件,情況則有所不同。 如果您將含有 Serviced 元件的組件放到應用程式基底的 Bin 目錄中,並且使用需求的註冊,則組件將陰影複製至下載快取中,因為 ASP.NET 會使用執行階段的陰影複製功能。

請參閱

參考

Gacutil.exe (全域組件快取工具)

Shfusion.dll (組件快取檢視器)

其他資源

How to: Create a Serviced Component

使用組件和全域組件快取