예제 #1
0
        public SPServiceApplicationProxy CreateProxy(string name, SPServiceApplication serviceApplication, SPServiceProvisioningContext provisioningContext)
        {
            if (serviceApplication.GetType() != typeof(NodeServiceApplication))
            {
                throw new NotSupportedException();
            }
            if (serviceApplication == null)
            {
                throw new ArgumentNullException("serviceApplication");
            }

            // Verify the service proxy exists.
            NodeServiceProxy serviceProxy = (NodeServiceProxy)this.Farm.GetObject(name, this.Farm.Id, typeof(NodeServiceProxy));
            if (serviceProxy == null)
                throw new InvalidOperationException("NodeServiceProxy does not exist in the farm.");

            // If the application proxy doesn't exist, create it.
            NodeServiceApplicationProxy applicationProxy = serviceProxy.ApplicationProxies.GetValue<NodeServiceApplicationProxy>(name);
            if (applicationProxy == null)
            {
                Uri serviceAppAddress = ((NodeServiceApplication)serviceApplication).Uri;
                applicationProxy = new NodeServiceApplicationProxy(name, serviceProxy, serviceAppAddress);
            }

            return applicationProxy;
        }
예제 #2
0
        public SPServiceApplicationProxy CreateProxy(Type serviceApplicationProxyType, string name, Uri serviceApplicationUri, SPServiceProvisioningContext provisioningContext)
        {
            if (serviceApplicationProxyType != typeof(NodeServiceApplicationProxy))
            {
                throw new NotSupportedException();
            }

            return new NodeServiceApplicationProxy(name, this, serviceApplicationUri);
        }
        public SPServiceApplicationProxy CreateProxy(Type serviceApplicationProxyType, string name, Uri serviceApplicationUri, SPServiceProvisioningContext provisioningContext)
        {
            if (serviceApplicationProxyType != typeof(CvrServiceApplicationProxy))
                throw new NotSupportedException();

            var proxy = new CvrServiceApplicationProxy(name, this, serviceApplicationUri);

            proxy.Update();
            proxy.Provision();

            return proxy;
        }
예제 #4
0
        /// <summary>
        /// Creates the service application proxy during the farm configuration wizard, and when you attempt to create a connection to a cross-farm service application.
        /// </summary>
        /// <param name="serviceApplicationProxyType">The <see cref="System.Type" /> of the service application proxy.</param>
        /// <param name="name">The name of the service application proxy.</param>
        /// <param name="serviceApplicationUri">The service application uri.</param>
        /// <param name="provisioningContext">The <see cref="Microsoft.SharePoint.Administration.SPServiceProvisioningContext" />.</param>
        /// <returns>An <see cref="Microsoft.SharePoint.Administration.SPServiceApplicationProxy" />.</returns>
        public SPServiceApplicationProxy CreateProxy(System.Type serviceApplicationProxyType, string name, System.Uri serviceApplicationUri, SPServiceProvisioningContext provisioningContext)
        {
            if (serviceApplicationProxyType != typeof(RepoServiceApplicationProxy))
            {
                throw new NotSupportedException();
            }

            // First create the new proxy.
            RepoServiceApplicationProxy proxy = new RepoServiceApplicationProxy(name, this, serviceApplicationUri);

            // You must call Update() to get the object into the persisted store before you can provision.
            proxy.Update();

            // Provision (install) the proxy.
            proxy.Provision();

            return proxy;
        }
예제 #5
0
        public SPServiceApplication CreateApplication(string name, Type serviceApplicationType, SPServiceProvisioningContext provisioningContext)
        {
            if (serviceApplicationType != typeof(NodeServiceApplication))
            {
                throw new NotSupportedException();
            }

            if (provisioningContext == null)
            {
                throw new ArgumentNullException("provisioningContext");
            }

            // If the service doesn't already exist, create it.
            NodeServiceApplication serviceApp = this.Farm.GetObject(name, this.Id, serviceApplicationType) as NodeServiceApplication;

            if (serviceApp == null)
            {
                serviceApp = NodeServiceApplication.Create(name, this, provisioningContext.IisWebServiceApplicationPool);
            }

            return serviceApp;
        }
 public SPServiceApplicationProxy CreateProxy(string name, SPServiceApplication serviceApplication, SPServiceProvisioningContext provisioningContext)
 {
     throw new NotImplementedException();
 }
 public SPServiceApplication CreateApplication(string name, Type serviceApplicationType, SPServiceProvisioningContext provisioningContext)
 {
     throw new NotImplementedException();
 }
예제 #8
0
        public SPServiceApplicationProxy CreateProxy(Type serviceApplicationProxyType, string name, Uri serviceApplicationUri, SPServiceProvisioningContext provisioningContext)
        {
            if (serviceApplicationProxyType != typeof(NodeServiceApplicationProxy))
            {
                throw new NotSupportedException();
            }

            return(new NodeServiceApplicationProxy(name, this, serviceApplicationUri));
        }
예제 #9
0
        public SPServiceApplication CreateApplication(string name, Type serviceApplicationType, SPServiceProvisioningContext provisioningContext)
        {
            if (provisioningContext == null)
            {
                throw new ArgumentNullException("provisioningContext");
            }

            if (serviceApplicationType != typeof(ParagoServiceApplication))
            {
                throw new NotSupportedException();
            }

            // Ensure this is re-entrant; check if an application already exists
            ParagoServiceApplication serviceApplication = Farm.GetObject(name, Id, serviceApplicationType) as ParagoServiceApplication;

            if (serviceApplication == null)
            {
                serviceApplication = ParagoServiceApplication.Create(name, this, provisioningContext.IisWebServiceApplicationPool);
            }

            return(serviceApplication);
        }
예제 #10
0
        public SPServiceApplicationProxy CreateProxy(string name, bool checkIfExist, SPServiceApplication serviceApplication, SPServiceProvisioningContext provisioningContext)
        {
            if (serviceApplication == null)
            {
                throw new ArgumentNullException("serviceApplication");
            }

            Type serviceApplicationType = serviceApplication.GetType();

            if (serviceApplicationType == null || serviceApplicationType != typeof(ParagoServiceApplication))
            {
                throw new NotSupportedException();
            }

            ParagoServiceProxy serviceProxy = (ParagoServiceProxy)Farm.GetObject(ParagoServiceProxy.DefaultName, Farm.Id, typeof(ParagoServiceProxy));

            if (serviceProxy == null)
            {
                serviceProxy = new ParagoServiceProxy(Farm);
                serviceProxy.Update(true);
                serviceProxy.Provision();
            }

            if (checkIfExist)
            {
                ParagoServiceApplicationProxy serviceApplicationProxy = serviceProxy.ApplicationProxies.GetValue <ParagoServiceApplicationProxy>(name);

                if (serviceApplicationProxy != null)
                {
                    return(serviceApplicationProxy);
                }
            }

            return(new ParagoServiceApplicationProxy(name, serviceProxy, ((ParagoServiceApplication)serviceApplication).Uri));
        }
예제 #11
0
 public SPServiceApplicationProxy CreateProxy(string name, SPServiceApplication serviceApplication, SPServiceProvisioningContext provisioningContext)
 {
     return(CreateProxy(name, true, serviceApplication, provisioningContext));
 }