Роль облачной службы не может быть перезапущена - PullRequest
0 голосов
/ 08 мая 2018

Я могу успешно развернуть мои облачные сервисы. Я также могу успешно удалить и развернуть облачное развертывание, и все роли запускаются без проблем, однако, когда я останавливаю службу и снова запускаю ее, одна из моих ролей продолжает перезагружаться, и я получаю эту ошибку, и роль продолжает перерабатываться:

Восстановление роли ... Сбой при запуске приложения "E: \ Approot \ runinstallers.cmd" с кодом выхода 1. [2018-05-08T15: 23: 12Z] Время последнего выхода: [2018/05/08, 15 : 23: 13,005]. Последний код выхода: -2147467259. Ошибка последней задачи запуска: имя - «E: \ Approot \ runinstallers.cmd», код выхода - 1

В последнее время единственное, что изменилось в задаче запуска, - это регистрация нового порта с использованием

netsh http add urlacl url = https://+:8443/ sddl = D: (A ;; GX ;;; NS)

любая помощь в отладке этого будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

В дополнение к предложениям stack247, если речь идет об отсутствующей DLL, для устранения отсутствующей DLL и ошибок сборки, выполните следующие действия:

  1. Откройте решение в Visual Studio.

  2. В обозревателе решений откройте папку «Ссылки».

  3. Щелкните по сборке, указанной в ошибке.
  4. В панели свойств найдите свойство «Копировать локально» и установите значение «Истина».
  5. Повторно разверните облачный сервис. Убедившись, что все ошибки исправлены, вы можете развернуть службу, не устанавливая флажок Включить роли IntelliTrace для .NET 4.

Распространенные причины повторного использования ролей, вы можете дополнительно сузить проблему с помощью следующих шагов:

  1. Отсутствуют зависимости времени выполнения: вы должны явно включить эту сборку в пакет приложения.
  2. Сборка предназначена для неверной платформы: Azure - это 64-разрядная среда. Поэтому сборки .NET, скомпилированные для 32-разрядной цели, не будут работать в Azure.
  3. Роль выдает необработанные исключения при инициализации или остановке. Любые исключения, которые вызываются методами класса RoleEntryPoint, который включает методы OnStart, OnStop и Run, являются необработанными исключениями. Если в одном из этих методов возникает необработанное исключение, роль будет перезапущена.
  4. Роль возвращается из метода Run: метод Run предназначен для бесконечного запуска. Если ваш код переопределяет метод Run, он должен бездействовать бесконечно. Если метод Run возвращается, роль перезагружается.
  5. Неверный параметр DiagnosticsConnectionString: если приложение использует диагностику Azure, в файле конфигурации службы должен быть указан параметр конфигурации DiagnosticsConnectionString. Этот параметр должен указывать подключение HTTPS к вашей учетной записи хранения в Azure
  6. Экспортированный сертификат не включает в себя закрытый ключ. Чтобы запустить веб-роль по протоколу SSL, необходимо убедиться, что экспортированный сертификат управления содержит закрытый ключ. Справка: https://docs.microsoft.com/en-us/azure/cloud-services/cloud-services-troubleshoot-roles-that-fail-start
0 голосов
/ 09 мая 2018

Некоторые способы отладки:

  • Удаленный рабочий стол к машине. Вам нужно будет включить это, и, надеюсь, в тот момент, когда ваша рабочая роль не будет выполнена, вы уже можете использовать удаленный рабочий стол. Из вашего сообщения об ошибке похоже, что вы должны иметь возможность удаленного входа.
  • Проверьте окно просмотра событий в окне.
  • Может потребоваться повышенное разрешение для определенной части вашего приложения.
  • Установите Application Insight для диагностики службы.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...