Не могу заставить Azure Cache работать. "Произошла временная ошибка. Пожалуйста, повторите попытку позже".

Итак, сегодня я

  1. установил Azure SDK 2.1, и
  2. создал новый проект с одним WorkerRole,
  3. получил пакет Caching с помощью NuGet,
  4. установить кеширование для роли "Collocated"
  5. Установите Host для "WorkerRole1" в app.config
  6. прокомментировал раздел безопасности, так как это всего лишь тест
  7. вставил следующую строку в строку "Выполнить" DataCache c = new DataCacheFactory (). GetDefaultCache ();
  8. Hit Debug

и получил эту ошибку, пытаясь выполнить строку выше:

Есть временный сбой. Пожалуйста, попробуйте позже. (Один или несколько указанных серверов кэша недоступны, что может быть вызвано занятой сетью или серверами. Для локальных кластеров кэша также проверьте следующие условия. Убедитесь, что для этой учетной записи клиента предоставлено разрешение безопасности, и убедитесь, что AppFabric Служба кэширования разрешена через брандмауэр на всех узлах кэша. Также значение MaxBufferSize на сервере должно быть больше или равно размеру сериализованного объекта, отправленного клиентом.)

Я много осматривался (около 5 часов) и не нашел объяснения этому... Кто-нибудь может помочь?

4 ответа

Решение

Я установил более старую версию SDK (версии 1.8 и 2.0) и теперь он работает... пойди разберись...

Я столкнулся с этим, когда проект Cloud Service не был должным образом обновлен до 2.1. Убедитесь, что в проекте определенно используется 2.1 SDK, а затем убедитесь, что все ваши пакеты NuGet обновлены. Для последнего пакета Azure Caching NuGet требуется Windows Azure 2.1 SDK.

Я столкнулся с той же ошибкой, и проблема для меня заключалась в том, что я установил пакет Caching от NuGet (следуя приведенным ниже инструкциям: http://www.windowsazure.com/en-us/documentation/articles/cache-dotnet-how-to-use-in-role/), которая устанавливает последнюю версию по умолчанию и игнорирует тот факт, что мой проект был на более старой версии Azure (2.1). Следовательно, некоторые компоненты из пакета кэширования ссылались на Microsoft.WindowsAzure.Diagnostics, версия =2.2.0.0, которая была более высокой версией, чем указанная сборка диагностики в проекте.

Я исправил это, удалив пакет Azure Cache (v 2.2) и вручную установив совпадающую версию (v 2.1), выполнив эту команду в консоли диспетчера пакетов:

PM> Install-Package Microsoft.WindowsAzure.Caching -Version 2.1

В моем случае у меня такое же исключение (с Azure SDK 2.1 и Windows Azure Caching 2.1), когда я отключаю кэш от назначенной роли и запускаю размещенную службу в эмуляторе вычислений (мне нужно это поведение, чтобы отключить кэширование только на основе csdef конфигурация, без дополнительных настроек).

В предыдущей версии Azure Caching этот сценарий вызывал исключение в DataCacheFactory конструктор, теперь у меня больше нет этого исключения, но роль висит в DataCache вызов конструктора в течение трех минут, а затем у меня есть исключение, которое вы описываете.

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

Другие вопросы по тегам