2011-03-30 2 views
8

Je suis en mesure de placer des fichiers sur mon serveur IIS en utilisant le code Microsoft.Web.Deployment:Déploiement d'une application Web à l'aide Microsoft.Web.Deployment

DeploymentSyncOptions syncOptions = new DeploymentSyncOptions(); 
DeploymentBaseOptions sourceBaseOptions = new DeploymentBaseOptions(); 
sourceBaseOptions.ComputerName = "localhost"; 

DeploymentBaseOptions destinationBaseOptions = new DeploymentBaseOptions(); 
destinationBaseOptions.ComputerName = ComputerName; // remote host 
destinationBaseOptions.UserName = Username; 
destinationBaseOptions.Password = Password; 

DeploymentObject deploymentObject = DeploymentManager.CreateObject(DeploymentWellKnownProvider.IisApp, deployDirectory, sourceBaseOptions); 

deploymentObject.SyncTo(DeploymentWellKnownProvider.IisApp, RemoteFolderName, destinationBaseOptions, syncOptions); 

Il semble que tout cela ne fait que créer une nouvelle dossier sous une application Web existante. Si je vais dans le Gestionnaire des services Internet, cliquez avec le bouton droit sur le dossier que j'ai créé et cliquez sur "Convertir en application", puis j'obtiens le comportement que je recherchais. Est-ce que quelqu'un sait comment faire cela simplement en utilisant le package Microsoft.Web.Deployment?

Répondre

1

En fait, grâce à votre code, j'ai réussi à déployer mes sites Web vers le cloud. Donc, il devrait fonctionner: P

public static void DeployWebsite(string user, string pw, string folder, string domain, string sitename) 
     { 
      DeploymentSyncOptions syncOptions = new DeploymentSyncOptions(); 
      DeploymentBaseOptions sourceBaseOptions = new DeploymentBaseOptions(); 
      DeploymentBaseOptions destinationBaseOptions = new DeploymentBaseOptions(); 

      destinationBaseOptions.ComputerName = domain; 
      destinationBaseOptions.UserName = user; 
      destinationBaseOptions.Password = pw; 

      DeploymentObject deploymentObject = DeploymentManager.CreateObject(DeploymentWellKnownProvider.IisApp, folder, sourceBaseOptions); 
      deploymentObject.SyncTo(DeploymentWellKnownProvider.IisApp, sitename, destinationBaseOptions, syncOptions); 
     } 
1

Vous pouvez ajouter les lignes suivantes à votre code

deploymentObject.SyncParameters.Load(parameters); 

parameters est le chemin complet vers votre fichier <project> de .SetParameters.xml. Dans ce fichier, vous spécifiez le nom de l'application virtuelle:

<setParameter name="IIS Web Application Name" value="<WebSite>/<VirtualApp>" />' 
Questions connexes