Я стараюсь увеличить количество экземпляров экземпляра по коду.Azure Autoscaling (400) Плохой запрос
Прежде всего, я создал один файл .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);
и я проверяю некоторые поля в моей виртуальной машине, и я incease мой 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) Bad Request.
Где я ошибаюсь? Я не мог понять. Это о параметрах метода или неверном сертификате загрузки?
У вас есть оценка?
Спасибо.