Настройка NCache с помощью nHibernate и Castle ActiveRecord

У нас есть относительно зрелый веб-сайт, использующий ActiveRecord Castle в качестве шаблона устойчивости (вместе с nHiberante). Мы использовали кэширование одного узла и поэтому могли полагаться на встроенный кеш ASP.Net и просто использовать тег ActiveRecord Cache для наших объектов ([ActiveRecord(Cache = CacheEnum.ReadWrite)]). Это работает нормально, и NHProf подтвердил, что мы попадаем во 2-й уровень кеша.

Сейчас мы готовимся к x-Nodes, и нам нужен кеш, который может синхронизироваться между несколькими узлами. Мы тестируем nCache, и я его настроил (счетчики perfmon показывают, что добавление тестового кеша прошло успешно). Однако после изменения web.config и добавления ссылок на мое приложение (для раздела конфигурации) все выглядит хорошо.

Однако счетчики производительности не двигаются, когда я двигаюсь по сайту. Во всех документах упоминается человек

<ncache><class></class></ncache>

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

И, наконец, к вопросу - кто-нибудь знает, использует ли NCache теги кеширования ActiveRecord или мне нужно использовать web.config для указания стратегии кеширования? Очень хочу использовать теги ActiveRecord ....


person penderi    schedule 04.06.2009    source источник


Ответы (1)


Хорошо, я нашел несколько ответов и ошибок, и, самое главное, теперь он работает, поэтому вот несколько указателей, которые могут оказаться полезными:

  • ActiveRecord Cache отлично работает с NCache, никаких изменений не требуется.
  • NCache в настоящее время поставляется с NHibernate 1.2 и построен на .Net 2.0.

У нас есть кастомная версия NHibernate (из ствола Castle). Мы также используем .Net3.5. В результате нам пришлось:

  • Добавьте источник адаптера NCache nHibernate
  • Перенесите код на 3.5 (с небольшими поправками)
  • Обновите наш файл конфигурации

Вот и все. У Perfmon тикеры NCache меняются, когда мы посещаем сайт. Потрясающий.

Если потребуется, я могу опубликовать код, просто дайте мне знать.

Все благодаря http://www.alachisoft.com/forum/index.php?showtopic=18488

person penderi    schedule 04.06.2009