我正在使用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部署如何在幕後工作的解釋也將非常感謝!