2011-09-26 44 views
1

在運行時替換組件是一個好主意嗎? 我可以遇到什麼問題?基於組件的體系結構:在運行時替換組件

原題:StructureMap - Ability to replace an assembly at runtime

是什麼在Web和非Web應用程序中運行時更換的配件的區別?

+0

最明顯的問題是性能 –

+0

@GertAnrold你錯了。我已經使用Web應用程序完成了這個任務。看看http://codecampserver.codeplex.com/網站。 – Rookian

+0

@MohamedAbed你會很好,給我更多的細節? – Rookian

回答

3

區別在於,每次更新DLL時,IIS都會創建一個新的卷影副本。因此,當你添加新的DLL時,你會自動獲得一個新的AppDomain。

WinForms等不會爲你做這些魔術,這就是爲什麼它不起作用。

+0

這聽起來很有趣。正如穆罕默德阿貝德在他的​​評論中提到的那樣,這將導致性能和記憶的含意。那麼這是一個相關或不相關的性能問題? – Rookian

+0

在哪種情況下? – jgauffin

+0

在使用IIS的Web應用程序的場景中。第二個問題是:我如何在非web應用程序中構建這個「魔術」,以及我可以遇到哪些問題? – Rookian

1

如果針對該程序集運行的代碼在單獨的AppDomain中運行,並且在執行操作之前關閉了AppDomain,則應該沒有問題。

+0

你看過我的原始問題嗎? – Rookian

+0

現在我做了,我猜想,因爲你使用的是ioc,所以你的IOC容器「引用」了你顯然無法替代的程序集。對不起,我剛剛提到的 – VdesmedT

+0

,在一個web應用程序中它只是起作用。 – Rookian

相關問題