Отладка веб-приложения с использованием кэширования Azure

Я хотел бы найти передовой опыт для отладки существующего приложения ASP.NET MVC. Эта веб-роль уже размещена в Azure. Приложение использует кэширование Windows Azure. Файл конфигурации был определен с настройками учетной записи Azure ->

<dataCacheClient name="default">
   <hosts>
      <host name="xxxx.cache.windows.net" cachePort="22233" />
   </hosts>
</dataCacheClient>

Я хотел бы отладить код. Каков наилучший подход в этом случае?

Я уже сделал тест, изменив хост на localhost, но он не работает.

Спасибо,

PS: я установил новый SDK 1.8


person fix105    schedule 25.03.2013    source источник
comment
Можете ли вы более конкретно рассказать о том, что вы пытаетесь сделать или в чем проблема? Какой код вы пытаетесь отлаживать? Какое отношение кэширование Azure имеет к чему-либо? Я могу сказать одно: вы не можете просто изменить кэш Azure, чтобы он указывал на локальный хост, и ожидать, что он будет работать. Служба кэширования не установлена ​​локально, потому что нет версии, которую можно установить локально.   -  person Brian Reischl    schedule 26.03.2013
comment
Я пытаюсь отладить существующее приложение. Приложение использует хранилище таблиц и кэширование. Для отладки хранилища таблиц я использую DevStorage и заново создаю таблицы с помощью Azure Storage Explorer. Я ищу решение для отладки функций, использующих кэширование, поскольку я не могу получить доступ к Azure (компания блокирует некоторые порты, и я не могу получить доступ к Azure через мою машину разработки). Итак, вопрос: есть ли возможность отладки?   -  person fix105    schedule 26.03.2013


Ответы (1)


Нет локально установленного эквивалента общего кэширования Azure. Кэширование Windows Server AppFabric несколько похоже, но не совсем то же самое .

Вы можете попытаться заставить ИТ разблокировать порты, чтобы вы могли использовать Azure. Хотя, если у вас есть несколько разработчиков в проекте, каждому разработчику потребуется собственный экземпляр кэша, чтобы не наступать на данные друг друга.

Другой вариант — полностью инкапсулировать кэширование в интерфейсах. Затем вы можете использовать что-то совершенно другое для разработки. Раньше я использовал MemoryCache. хранилище в памяти для разработки. Вы также можете использовать кэширование AppFabric, memcached или что-то еще. Вам просто нужно знать о различиях между вашей системой разработки и производственной системой.

Изменить: другим вариантом может быть переход с общего кэширования на кэширование ваших ролей (в наши дни я не знаю, как это официально называется). Я считаю, что это работает и локально. Основным недостатком является то, что он виден только в рамках одной размещенной службы. В любом случае, если у вас есть только одна размещенная служба, это не проблема. Если у вас есть несколько размещенных служб, которым необходимо обмениваться данными, это может стать проблемой.

person Brian Reischl    schedule 26.03.2013
comment
Спасибо Брайан за ваш ответ. Это действительно ясно по другому подходу. Я имею в виду, мне странно, что Microsoft не создала такой инструмент, как Azure Storage Explorer. Мы можем эмулировать Blob/Table и Queue, но не для кеша. - person fix105; 27.03.2013
comment
Это расстраивает, и разрыв увеличивается со всеми новыми вещами, такими как мобильные сервисы, медиа-сервисы и т. д. Кстати, я добавил примечание о кэшировании в роли по сравнению с общим кэшированием, которое может быть вам полезно. - person Brian Reischl; 27.03.2013