4

c#を介してMSDeployAPIを使用してリモートMSDeployコマンドを実行しようとしています。

私は以下を実行しています:

//test connection by pulling down file list
var sourceBaseOptions = new DeploymentBaseOptions();
var destBaseOptions = new DeploymentBaseOptions
                            {
                                ComputerName = "https://mysite.com/msdeploy.axd?sitename=siteName",
                                UserName = "username",
                                Password = "password",
                                AuthenticationType = "Basic"
                            };
var syncOptions = new DeploymentSyncOptions();       

var deployment = DeploymentManager.AvailableProviderFactories;
DeploymentObject deploymentObject = DeploymentManager.CreateObject("dirPath", Settings.TemporaryStoragePath, sourceBaseOptions);
// collect and report all the changes that would happen
var changes = deploymentObject.SyncTo(destBaseOptions, syncOptions);

信頼できない証明書を実行しているため、例外がスローされます。MSDeployに証明書について心配しないように指示するにはどうすればよいですか?(つまり、コードベースの「AllowUntrustedCertificate = true」)

4

1 に答える 1

6

ServicePointManagerサーバー証明書の検証のためにコールバックを設定する必要があるようです。

MSDeployを呼び出す前に以下を配置するとうまくいくようです:

ServicePointManager.ServerCertificateValidationCallback = (s, c, chain, err) =>
{
    return true;
};
于 2012-10-21T08:03:45.380 に答える