예제 #1
0
            public override void Context()
            {
                base.Context();
                RemoveLocalQueueIfExistsAndCreate(address.LocalName);

                task = new LocalMsmqGrantReadWriteTask(address, @"Everyone");
            }
예제 #2
0
        private static DeploymentResult GrantMsmqPermissions(string[] args)
        {
            DeploymentResult result = new DeploymentResult();

            var perm  = args[1];
            var user  = args[2];
            var queue = args[3];

            var queueAddress = new QueueAddress(queue);

            switch (perm)
            {
            case "r":
                result = new LocalMsmqGrantReadTask(queueAddress, user).Execute();
                break;

            case "w":
                result = new MsmqGrantWriteTask(queueAddress, user).Execute();
                break;

            case "rw":
                result = new LocalMsmqGrantReadWriteTask(queueAddress, user).Execute();
                break;

            case "default":
                result = new SetSensibleMsmqDefaults(queueAddress).Execute();
                break;
            }

            return(result);
        }
예제 #3
0
        public void Execute()
        {
            var t = new LocalMsmqGrantReadWriteTask(_address, @"TEST\ReynoldsR");
            DeploymentResult r = t.Execute();

            Assert.IsFalse(r.ContainsError(), "Errors occured during permission setting.");
        }
 public override void RegisterRealTasks(PhysicalServer server)
 {
     var ub = new UriBuilder("msmq", server.Name) { Path = _queue };
     if (server.IsLocal)
     {
         var task = new LocalMsmqGrantReadWriteTask(new QueueAddress(ub.Uri), _group);
         server.AddTask(task);
     }
     else
     {
         var task = new RemoteMsmqGrantReadWriteTask(server, new QueueAddress(ub.Uri), _group);
         server.AddTask(task);
     }
 }
예제 #5
0
        public override void RegisterRealTasks(PhysicalServer server)
        {
            var ub = new UriBuilder("msmq", server.Name)
            {
                Path = _queue
            };

            if (server.IsLocal)
            {
                var task = new LocalMsmqGrantReadWriteTask(new QueueAddress(ub.Uri), _group);
                server.AddTask(task);
            }
            else
            {
                var task = new RemoteMsmqGrantReadWriteTask(server, new QueueAddress(ub.Uri), _group);
                server.AddTask(task);
            }
        }
예제 #6
0
        private static DeploymentResult GrantMsmqPermissions(string[] args)
        {
            var result = new DeploymentResult();

            var perm  = args[1];
            var user  = args[2];
            var queue = args[3];

            var queueAddress = new QueueAddress(queue);

            int accessRights;

            if (int.TryParse(perm, out accessRights))
            {
                return(new LocalMsmqGrantAccessRightsTask(queueAddress, user, (MessageQueueAccessRights)accessRights).Execute());
            }

            switch (perm)
            {
            case "r":
                result = new LocalMsmqGrantReadTask(queueAddress, user).Execute();
                break;

            case "w":
                result = new MsmqGrantWriteTask(queueAddress, user).Execute();
                break;

            case "rw":
                result = new LocalMsmqGrantReadWriteTask(queueAddress, user).Execute();
                break;

            case "default":
                result = new SetSensibleMsmqDefaults(queueAddress).Execute();
                break;
            }

            return(result);
        }
예제 #7
0
        private static DeploymentResult GrantMsmqPermissions(string[] args)
        {
            var result = new DeploymentResult();

            var perm = args[1];
            var user = args[2];
            var queue = args[3];

            var queueAddress = new QueueAddress(queue);

            int accessRights;
            if (int.TryParse(perm, out accessRights))
            {
                return new LocalMsmqGrantAccessRightsTask(queueAddress, user, (MessageQueueAccessRights)accessRights).Execute();
            }

            switch (perm)
            {
                case "r":
                    result = new LocalMsmqGrantReadTask(queueAddress, user).Execute();
                    break;
                case "w":
                    result = new MsmqGrantWriteTask(queueAddress, user).Execute();
                    break;
                case "rw":
                    result = new LocalMsmqGrantReadWriteTask(queueAddress, user).Execute();
                    break;
                case "default":
                    result = new SetSensibleMsmqDefaults(queueAddress).Execute();
                    break;
            }

            return result;
        }
예제 #8
0
        private static DeploymentResult GrantMsmqPermissions(string[] args)
        {
            DeploymentResult result = new DeploymentResult();

            var perm = args[1];
            var user = args[2];
            var queue = args[3];

            var queueAddress = new QueueAddress(queue);

            switch (perm)
            {
                case "r":
                    result = new LocalMsmqGrantReadTask(queueAddress, user).Execute();
                    break;
                case "w":
                    result = new MsmqGrantWriteTask(queueAddress, user).Execute();
                    break;
                case "rw":
                    result = new LocalMsmqGrantReadWriteTask(queueAddress, user).Execute();
                    break;
                case "default":
                    result = new SetSensibleMsmqDefaults(queueAddress).Execute();
                    break;
            }

            return result;
        }