public void Preparation() { var rootDomain = AppDomain.CreateDomain("RootDomain", null, new AppDomainSetup { ApplicationBase = AppDomain.CurrentDomain.SetupInformation.ApplicationBase }); _level1Interaction = rootDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(Level1Activator).FullName) as Level1Activator; var level2Domain = AppDomain.CreateDomain("Level2Domain", null, new AppDomainSetup { ApplicationBase = AppDomain.CurrentDomain.SetupInformation.ApplicationBase }); _level2Interaction = level2Domain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(Level2Activator).FullName) as Level2Activator; _level2Interaction.SetTransporter(_level1Interaction.Transporter, settings); Settings.NoCacheGarbageChecking = true; }
public void Preparation() { var rootDomain = AppDomain.CreateDomain("RootDomain", null, new AppDomainSetup { ApplicationBase = AppDomain.CurrentDomain.SetupInformation.ApplicationBase }); _level1Interaction = rootDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof (Level1Activator).FullName) as Level1Activator; var level2Domain = AppDomain.CreateDomain("Level2Domain", null, new AppDomainSetup { ApplicationBase = AppDomain.CurrentDomain.SetupInformation.ApplicationBase }); _level2Interaction = level2Domain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(Level2Activator).FullName) as Level2Activator; _level2Interaction.SetTransporter(_level1Interaction.Transporter,settings); Settings.NoCacheGarbageChecking = true; }