Compartilhar via


Como a: implantar conteúdo entre servidores

Esta exemplo de código mostra como usar o modelo objeto para criar caminhos e trabalhos que de conteúdo implantar entre coleções site. Este codificar pressupõe que as coleções site origem e destino são no farm de servidor mesmo. No entanto, os caminhos podem ser configurados entre farms servidor diferente. As tarefas que executa essa codificar também podem ser feitas através de interface do usuário em SharePoint Central Administration.

Caminhos conectar origem e destino site coleções; Trabalhos controle qual de conteúdo é copiado e quando ele é copiado. Microsoft Office do SharePoint Server 2007 suporta somente implantação destino origem - para - e não suporte múltiplo implantando fontes para um destino ou de conteúdo implantando a partir de destino voltar para a origem. Implantação é Por padrão incremental e é configurada por um administrador central.

O seguinte exemplo demonstra como especificar caminho e as configurações de trabalho, configure de conteúdo implantação para essa farm e criar um caminho implantação e um trabalho associado com o caminho que você criou.

Exemplo

using System;
using System.Collections.Generic;
using System.Text;

using Microsoft.SharePoint.Publishing.Administration;

namespace DeploymentAPISample
{
    // In this sample, we assume the following:
    //   Content is being deployed from a source site collection to 
    //   a destination site collection within the same farm.
    //   The SharePoint Central Admininstration Web application is
    //   accessible through port 8080.
    //   The source site collection is the root site collection on
    //   port 80.
    //   The destination site collection is on a managed path on 
    //   port 81.
    
    class Program
    {
        static void Main( string[] args )
        {
            DeploymentExample example = new DeploymentExample();
            example.Invoke();
        }
    }

    class DeploymentExample
    {
        public void Invoke()
        {

            // Path settings
            string pathName = "My Deployment Path";
            Uri sourceServerUri = new Uri( "https://server" );
            string sourceSiteCollection = "/";
            Uri destinationAdminUri = new Uri( "https://server:8080" );
            Uri destinationServerUri = new Uri( "https://server:81" );
            string destinationSiteCollection = "/sites/deploymentdestination";

            // Job settings
            string jobName = "My Deployment Job";

            ContentDeploymentPath path = null;
            ContentDeploymentJob job = null;

            try
            {
                // Configure Content Deployment for this farm.
                // Note: If you are deploying between farms, 
                // the DESTINATION farm must be configured 
                // to accept incoming deployment jobs.
                ContentDeploymentConfiguration config = ContentDeploymentConfiguration.GetInstance();
                config.AcceptIncomingJobs = true;
                config.RequiresSecureConnection = false; // NOTE: This is the simplest configuration, but is not the recommended secure setting
                config.Update();

                // Create a deployment path.
                ContentDeploymentPathCollection allPaths = ContentDeploymentPath.GetAllPaths();
                path = allPaths.Add();

                path.Name = pathName;
                path.SourceServerUri = sourceServerUri;
                path.SourceSiteCollection = sourceSiteCollection;
                path.DestinationAdminServerUri = destinationAdminUri;
                path.DestinationServerUri = destinationServerUri;
                path.DestinationSiteCollection = destinationSiteCollection;
                path.Update();

                // Create a job associated with the path you created.
                job = ContentDeploymentJob.GetAllJobs().Add();
                job.JobType = ContentDeploymentJobType.ServerToServer;
                job.Name = jobName;
                job.Path = path;
                job.Update();
                job.Run();
            }
            catch ( Exception ex )
            {
                Console.Error.WriteLine( ex.StackTrace );
                throw;
            }
            finally
            {
                // Delete the job that was created.
                if ( job != null )
                {
                    job.Delete();
                }
                // Delete the path that was created.
                if ( path != null )
                {
                    path.Delete();
                }
            }
        }
    }
}

Consulte também

Outros recursos

A implantação de conteúdo entre servidores
Como a: Personalizar de implantação para cenários desconectadas