使用 Serviced 元件和全域組件快取
Serviced 元件 (Managed 程式碼 COM+ 元件) 應放入全域組件快取。 在某些案例中,Common Language Runtime 和 COM+ 服務可以處理不在全域組件快取中的 Serviced 元件;但在某些案例中則不行。 下列案例便可說明:
如果是 COM+ 伺服器應用程式中的服務元件,含有元件的組件必須在全域組件快取中,因為 Dllhost.exe 執行的目錄與含有 Serviced 元件的目錄並不相同。
如果是 COM+ 程式庫應用程式的 Serviced 元件,Runtime 和 COM+ 服務可搜尋目前目錄,以便解析對含有元件的組件參考。 在這種情況下,組件並非一定要位於全域組件快取中。
如果是 ASP.NET 應用程式的 Serviced 元件,情況則有所不同。 如果您將含有 Serviced 元件的組件放到應用程式基底的 Bin 目錄中,並且使用需求的註冊,則組件將陰影複製至下載快取中,因為 ASP.NET 會使用執行階段的陰影複製功能。