使用 Serviced 元件和全域組件快取
注意
本文專屬於 .NET Framework。 其不適用於較新的 .NET 實作,包括 .NET 6 和更新版本。
Serviced 元件 (受控碼 COM+ 元件) 都應該放在全域組件快取中。 在某些情況下,通用語言執行平台和 COM + 服務可以處理不在全域組件快取中的 Serviced 元件;但在其他案例中則不能。 下列案例可說明這種情況:
若是 COM+ 伺服器應用程式中的 Serviced 元件,由於 Dllhost.exe 的執行位置不在包含 Serviced 元件的相同目錄中,因此含有元件的組件必須位於全域組件快取中。
若是 COM+ 程式庫應用程式中的 Serviced 元件,執行階段和 COM+ 服務可以搜尋目前的目錄,以解析含有元件的組件參考。 在這種情況下,組件就不需要位於全域組件快取中。
若是 ASP.NET 應用程式中的 Serviced 元件,情況又不同。 如果您將包含 Serviced 元件的組件放置在應用程式基底的 bin 目錄中,並使用隨選的註冊,則系統會將組件陰影複製到下載快取,因為 ASP.NET 會使用執行階段的陰影功能。