特定のAppDomainをロードしましたが、そこからいくつかのタイプを動的にロードしたいと思います(ケーキの一部ですよね?)。問題は、AppDomainクラスのすべてのCreateInstanceメソッドがリモーティングオブジェクトハンドルとして物事を返すことです。リモーティングプロキシには、シリアライズ可能な具象クラスが必要である、LifeTimeServiceが使用されていない限り、ガベージコレクションを熱心に行うなど、避けたい制限があります。
私の質問は、リモーティングプロキシにラップせずに、別のアプリドメインにタイプをロードするにはどうすればよいですか?以下は私のコードの抜粋です。
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;