public virtual void Init()
        {
            serverDomain = AppDomainFactory.Create("server");
            clientDomain = AppDomainFactory.Create("client");

            serverContainer = CreateRemoteContainer(serverDomain, GetServerConfigFile());
        }
        public override void Init()
        {
            base.Init();

            serverClient          = AppDomainFactory.Create("serverClient");
            serverClientContainer = GetRemoteContainer(serverClient, "server_client_kernelcomponent.xml");
        }
        public void GetFullTrustAssembliesListTest()
        {
            // We can only set a full trust list via the AppDomain creation code path
            AppDomainSetup ads = new AppDomainSetup();

            ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;

            PermissionSet sandbox = new PermissionSet(PermissionState.None);

            sandbox.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));

            StrongName[] fullTrustList = new StrongName[]
            {
                typeof(object).Assembly.GetStrongName(),
                typeof(System.Security.Cryptography.AesManaged).Assembly.GetStrongName(),
                typeof(System.Security.Cryptography.Xml.SignedXml).Assembly.GetStrongName()
            };

            AppDomain domain = AppDomainFactory.CreateHomogenousDomain(sandbox, fullTrustList);

            ApplicationTrust   domainTrust       = domain.ApplicationTrust;
            IList <StrongName> trustedAssemblies = domainTrust.GetFullTrustAssemblies();

            Assert.AreEqual(3, trustedAssemblies.Count);

            bool foundMscorlib       = false;
            bool foundSystemCore     = false;
            bool foundSystemSecurity = false;

            foreach (StrongName sn in trustedAssemblies)
            {
                if (String.Equals("mscorlib", sn.Name, StringComparison.OrdinalIgnoreCase) &&
                    String.Equals(s_ecmaPublicKey, sn.PublicKey.ToString(), StringComparison.OrdinalIgnoreCase) &&
                    sn.Version.Major >= 2)
                {
                    foundMscorlib = true;
                }
                else if (String.Equals("System.Core", sn.Name, StringComparison.OrdinalIgnoreCase) &&
                         String.Equals(s_ecmaPublicKey, sn.PublicKey.ToString(), StringComparison.OrdinalIgnoreCase) &&
                         sn.Version.Major >= 3)
                {
                    foundSystemCore = true;
                }
                else if (String.Equals("System.Security", sn.Name, StringComparison.OrdinalIgnoreCase) &&
                         String.Equals(s_microsoftPublicKey, sn.PublicKey.ToString(), StringComparison.OrdinalIgnoreCase) &&
                         sn.Version.Major >= 2)
                {
                    foundSystemSecurity = true;
                }
            }

            Assert.IsTrue(foundMscorlib);
            Assert.IsTrue(foundSystemCore);
            Assert.IsTrue(foundSystemSecurity);
        }
Esempio n. 4
0
        public static CoreControler Create()
        {
            AppDomain domain = AppDomainFactory.Create("AgentCore");
            Assembly  asm    = Assembly.GetAssembly(typeof(CoreFactory));

            CoreInitializer initializer = (CoreInitializer)domain.CreateInstanceFromAndUnwrap(
                typeof(CoreInitializer).Assembly.Location, typeof(CoreInitializer).FullName);
            Guid coreId = initializer.Id;

            if (coreId == Guid.Empty)
            {
                AppDomain.Unload(domain);
                throw new Exception("Error in CoreInitializer");
            }
            _cores.AddOrUpdate(coreId, new CoreFactoryItem(domain, initializer, null),
                               (id, tuple) => tuple);

            CoreControler remoteControl = new CoreControler(coreId);

            remoteControl.OnDispose += Destroy;
            return(remoteControl);
        }
Esempio n. 5
0
 public void FixtureSetUp()
 {
     // we're at full trust here
     adf = new AppDomainFactory();
 }
Esempio n. 6
0
 private void StartServer()
 {
     serverDomain    = AppDomainFactory.Create("server");
     serverContainer = CreateRemoteContainer(serverDomain, GetServerConfigFile());
 }