Проблемы провайдера нестандартной конфигурации Windows Server AppFabric - PullRequest
1 голос
/ 21 марта 2012

UPDATE

Вот ссылка на пользовательский код провайдера - http://www.gurpreetsohal.com/configurationprovider.zip

Мне удалось использовать отражатель для перехода в библиотеки Microsoft AppFabric, и я нашел место, где происходит исключение.

enter image description here

Исключение вызвано методом WaitForStatus - служба определенно находится в начальном состоянии, она просто никогда не достигает начального состояния в течение значения времени ожидания.

Значение времени ожидания по умолчанию составляет 60 секунд. Я увеличил это до 10 минут, та же проблема.


Сценарий:

1) Работа в среде рабочей группы Это означает, что AppFabric не позволит источнику SQL Server сохранять файл конфигурации, поэтому вы оставлены на файловом ресурсе или создаете пользовательский поставщик конфигурации.

Я выбрал последнее и написал реализацию, используя предоставленный интерфейс ICustomProvider, с использованием blobstorage.

Кажется, что все работает нормально, конфигурацию можно создать / изменить, удалить - мастер настройки работает нормально.

Проблема в том, что когда я запускаю Start-CacheCluster в powershell, служба кэширования AppFabric зависает в состоянии запуска.

Затем Powershell выдает ошибку:

enter image description here Однако, если я вручную запускаю сервис из services.msc - он работает нормально, без проблем, почти мгновенно.

Чтобы убедиться, что это не проблема среды, я настроил AppFabric для использования файлового ресурса для конфигурации, и он работал без проблем.

Затем я начал смотреть, что на самом деле делает эта команда powershell, и декомпилировал dll.

Это дошло до меня так: enter image description here

currentAdmin.StartCluster (new ProgressDelegate (this, (IntPtr) this.StartClusterDelegate), новый WriteErrorDelegate (this, (IntPtr) this.WriteErrorRecord), this.QuorumTimeout, this.HostTimeout);

Я не могу идти дальше и застрял.

Я попробовал обе таблицы Azure и хранилище BLOB-объектов, чтобы попытаться заставить это работать

Помощь !!!!!

1 Ответ

0 голосов
/ 22 марта 2012

Поскольку он использует нестандартный порт, я бы позаботился о том, чтобы этот порт был открыт на всех узлах кластера.Исключением тайм-аута может быть брандмауэр, блокирующий нестандартный порт.

Я посмотрел на скриншот вашего декомпилированного кода, и похоже, что он просто выбрасывает тайм-аут, как в ошибке.

Спасибо,

...