關於plugin 程式 動態卸載 plugin 的思考

來源:互聯網
上載者:User

  我覺得對於基於外掛程式原理的軟體,動態卸載的意義不是很大,因為身邊用的知名軟體大多都是靠重啟實現的....除非是客戶的需求必須要實現.....

 

 而且代碼我也試過了:

                    AppDomainSetup ads = new AppDomainSetup();
                    ads.ShadowCopyFiles = "true";
                    AppDomain.CurrentDomain.SetShadowCopyFiles();
                    Evidence adevidence = AppDomain.CurrentDomain.Evidence;
                    AppDomain appDomain = AppDomain.CreateDomain("pluingManager");
                    appDomain.SetShadowCopyFiles();
                   
                    Assembly asm = appDomain.Load(strDllFullName);
                    object plugObject = Activator.CreateInstance(asm.GetType(strClassFullName));

                    IMenuPlugin plugin = (IMenuPlugin)plugObject;
                    plugins.Add(plugin);

 

存在的問題主要有以下幾個:

1,appDomain.Load方法載入dll時候不會像Assembly.LoadFrom方法那樣動態去載入引用到得dll等資訊...

2, 所有對象必須是可序列化的.....

3,網上好多人都有議論卸載不成功的事(我代碼沒有跑通,這一點我不過多評論)

  希望有共同愛好的朋友多多指教........

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.