我正在使用Web部署API来部署一个Web包(由MSDeploy.exe创建的.zip文件)以编程方式将包卷出到服务器(我们需要在我们发布软件包之前做一些其他的事情,这就是为什么我们不使用MSDeploy.exe一次性完成这一切)。Web部署API(部署.zip包)说明
这是我的代码。我的问题是要澄清当执行这个时发生了什么。在包参数XML文件中,我指定了应用程序名称(“默认网站”),但是就这一点而言,其中没有指定其他参数。从测试服务器看来,软件包得到了成功部署,但我的问题是,我正在部署的服务器上的任何其他设置在我不知情的情况下进行更改,是否有任何默认设置已发布等。像我可能不知道的安全设置,目录浏览等事情?这里的代码似乎部署了这个包,但是当我不确定这个API的工作原理时,我很担心在生产环境中使用它。 MS文档没有帮助(实际上更像是不存在的)。
DeploymentChangeSummary changes;
string packageToDeploy = "C:/MyPackageLocation.zip";
string packageParametersFile = "C:/MyPackageLocation.SetParameters.xml";
DeploymentBaseOptions destinationOptions = new DeploymentBaseOptions()
{
UserName = "MyUsername",
Password = "MyPassword",
ComputerName = "localhost"
};
using (DeploymentObject deploymentObject = DeploymentManager.CreateObject(DeploymentWellKnownProvider.Package,
packageToDeploy))
{
deploymentObject.SyncParameters.Load(packageParametersFile);
DeploymentSyncOptions syncOptions = new DeploymentSyncOptions();
syncOptions.WhatIf = false;
//Deploy the package to the server.
changes = deploymentObject.SyncTo(destinationOptions, syncOptions);
}
如果任何人都可以澄清,这段应部署包到一个服务器上的网站应用程序,无需改变任何现有的服务器设置(除非在SetParameters.xml文件中指定),这将是很有益的。任何关于使用API的好资源或者关于web部署如何在幕后工作的解释也将非常感谢!