0

コード ビハインドによってインスタンス数を増やそうとしています。

まず、1 つの .cer ファイルと .pfx ファイルを作成し、それを .pfx にアップロードしてクラウドサービス証明書にアップロードし、.cer を設定 --> 管理証明書にアップロードします。

コードで .cer ファイルを使用した後。このuplodファイルは本当ですか?

これが私のコードです:

string subscriptionId = "c034e905-......";
        string serviceName = "multitenant";
        string configFileName = "ServiceConfiguration.cscfg";
        string roleName = "Multi.Web";

        XNamespace xs = "http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration";
        XDocument configDocument = XDocument.Parse(String.Join("", File.ReadAllLines(Path.GetFullPath(configFileName))));
        XAttribute instanceCountAttribute = configDocument.Element(xs + "ServiceConfiguration")
                                                            .Elements(xs + "Role")
                                                            .Where(xRole => xRole.Attribute("name").Value == roleName).SingleOrDefault()
                                                            .Element(xs + "Instances")
                                                            .Attribute("count");

        int currentInstanceCount = int.Parse(instanceCountAttribute.Value);

VMのいくつかのフィールドをチェックしていて、 currentInstanceCount を増やしています。

double processorTotal = Convert.ToDouble(performanceCounter.CounterValue);

            instanceCountAttribute.Value = (currentInstanceCount + 1).ToString();

            var serviceManagment = ServiceManagementHelper.CreateServiceManagementChannel("WindowsAzureEndPoint",
                new X509Certificate2("multitenant.cer"));
            var changeConfigInput = new ChangeConfigurationInput();
            changeConfigInput.Configuration = ServiceManagementHelper.EncodeToBase64String(configDocument.ToString());
            try
            {
                serviceManagment.ChangeConfigurationBySlot(subscriptionId, serviceName, "Production", changeConfigInput);
            }
            catch (WebException e) 
            { 
                throw new Exception(new StreamReader(e.Response.GetResponseStream()).ReadToEnd()); 
            }

ChangeConfigurationBySlot メソッドが例外をスローしています:

リモート サーバーが予期しない応答を返しました: (400) 不正な要求。

どこが間違っていますか?理解できませんでした。メソッドのパラメーターまたは間違ったアップロード証明書に関するものですか?

見積もりはありますか?

ありがとう。

4

1 に答える 1