コード例 #1
0
        private AzureServiceManagementApiProfile(String publishMethod,
            String url,
            byte[] certbytes,
            String certPWD,
            AzureSubscription[] subscriptions)
            : base(publishMethod)
        {
            this.Url = new Uri(url);
            if (String.IsNullOrEmpty(certPWD))
            {
                this.ManagementCertificate = new X509Certificate2(certbytes);
            }
            else
            {
                this.ManagementCertificate = new X509Certificate2(certbytes, certPWD);
            }

            this.Subscriptions = subscriptions.ToList<AzureSubscription>();
        }
コード例 #2
0
        internal static new PublishProfile Parse(XElement publishProfileElement)
        {
            String pubMethod = PublishProfile.ParsePublishMethod(publishProfileElement);

            if (String.Compare(pubMethod, DeployMethods.AzureServiceManagementAPIMethod, StringComparison.Ordinal) != 0)
                //throw new ArgumentException(WorkflowResources.WrongPublishMethodInProfile(pubMethod, DeployMethods.AzureServiceManagementAPIMethod),
                //                          "publishProfileElement");
                throw new ArgumentException();

            //all attributes are required except Password, subscription element is not required
            String url = PublishProfile.ParseAttribute(publishProfileElement, PublishSettingsXNames.X_Url, true);

            String cert = PublishProfile.ParseAttribute(publishProfileElement, PublishSettingsXNames.X_ManagementCert, true);

            String certPWD = PublishProfile.ParseAttribute(publishProfileElement, PublishSettingsXNames.X_CertPWD, false);

            var elements = publishProfileElement.Elements(PublishSettingsXNames.X_Subscription);

            int subCount = elements.Count();
            AzureSubscription[] subs = new AzureSubscription[subCount];
            int i = 0;
            foreach (var elem in elements)
            {
                AzureSubscription sub = new AzureSubscription();

                sub.Id = new Guid(elem.Attribute(PublishSettingsXNames.X_Id).Value);
                sub.Name = elem.Attribute(PublishSettingsXNames.X_Name).Value;

                subs[i++] = sub;
            }

            return new AzureServiceManagementApiProfile(pubMethod,
                url,
                Convert.FromBase64String(cert),
                certPWD,
                subs);
        }