我已經加載了一個特定的AppDomain,我想從它動態地加載一些類型(小菜一碟吧?)。問題在於AppDomain類的所有CreateInstance方法都將其作爲遠程對象句柄返回。遠程代理有一些限制,我想避免這種情況,例如:必須擁有可序列化的具體類以及通過緊急垃圾回收,除非使用LifeTimeService。.net - 從AppDomain動態加載類型而無需遠程代理
我的問題是我怎麼能加載一個類型在另一個應用程序域中,而沒有它包裹在遠程代理?以下是我的代碼片段。
AppDomainSetup ads = new AppDomainSetup();
ads.ApplicationBase = Path.GetDirectoryName(_bllAssemblyPath);
ads.PrivateBinPath = Path.GetDirectoryName(_bllAssemblyPath);
if (File.Exists(_bllAssemblyPath + ".config"))
ads.ConfigurationFile = _bllAssemblyPath + ".config";
_workerSpace= AppDomain.CreateDomain("worker", new System.Security.Policy.Evidence(AppDomain.CurrentDomain.Evidence), ads);
_bllQueue = _workerSpace.CreateInstanceFrom(_bllAssemblyPath, queueType) as IThumbCapQueue;
我不認爲你可以這樣做。你試圖做什麼,需要你在一個單獨的AppDomain中創建對象? – 2010-07-27 23:07:26
我正在構建一個Windows服務,我希望_bllQueue被託管在與主服務內存空間分離的內存空間中。 – James 2010-07-27 23:10:39