특정 AppDomain을로드 했으므로 동적으로 일부 유형을로드하려고합니다. AppDomain 클래스의 CreateInstance 메서드는 모두 Remoting 개체 핸들로 반환합니다. 원격 프록시에는 LifeTimeService가 사용되지 않는 한 serializable concrete 클래스가 있어야하고 가비지 컬렉션을 열망하는 등의 피하고 싶은 제한이 있습니다..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에 개체를 만들어야하는 이유는 무엇입니까? –
저는 Windows 서비스를 만들고 있는데 _bllQueue가 주 서비스 메모리 공간과 별도의 메모리 공간에서 호스팅되기를 바랍니다. – James