close

原文見<http://www.codeproject.com/Articles/8832/Plug-in-Manager>

AssemblyFactory

用 System.CodeDom.Compiler 將 .cs , .vb 和 .js 編譯成組件

RemoteLoader

為了讓物件可跨越應用程式定義域界限存取, 必須繼承 MarshalByRefObject.

此類主要目的是儲存 assembly 與 type 清單. 透過以下方式

1. Assembly.Load( dll 檔案 )

2. AssemblyFactory 的 CreateAssembly

LocalLoader

1. 建立新的 AppDomain.

2. 讓新的 AppDomain 建立 RemoteLoader.

    這樣可讓透過 appdomain 取的的 class 都會用 RemoteLoader 代理取得.

3. LocalLoader 會負責一個目錄下的 dll 組件的載入

PluginManager

目的在管理一個 LocalLoader

 

如果一個 AP 希望掛載不同功能的組件。那需要建立對應的目錄並建立對應的 PluginManager

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Mr.Y 的頭像
    Mr.Y

    航向新世界

    Mr.Y 發表在 痞客邦 留言(0) 人氣()