Как мне кэшировать значения в .NET 4, чтобы они были доступны для нескольких приложений? - PullRequest
0 голосов
/ 03 июня 2011

Я создал веб-сайт в Visual Studio 2010 («Файл» -> «Новый веб-сайт»), и к полученному файлу решения я добавил еще два веб-сайта.Я знаю, что для любого из веб-сайтов я могу использовать context.Application для обмена значениями между несколькими пользователями.Но есть ли способ обмена значениями между пользователями различных веб-сайтов?

Другими словами, существует ли какой-либо объект кеша "уровня решения" в .NET?Мне не удалось найти ответ через поисковые системы.

Заранее благодарен за помощь

Ответы [ 4 ]

0 голосов
/ 03 июня 2011

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

0 голосов
/ 03 июня 2011

Там нет такой опции.Наилучшим доступным вариантом будет постоянное хранилище данных (XML, база данных ...).

Хотя ASP.NET поддерживает такую ​​функцию для сеансов (сервер состояний сеансов), он не поддерживает, если для IPCиз w3wp s.

Конечно, вы можете написать свой собственный сервис (вы должны решать проблемы параллелизма), но он требует много работы и подвержен ошибкам.Используйте постоянное хранилище данных, если у вас нет высокой скорости чтения / записи, которая ставит базу данных на колени (редкие приложения так критичны к производительности).

0 голосов
/ 03 июня 2011

Когда мне нужно обмениваться данными между Webware, я предпочитаю разрабатывать службу WCF и предоставлять эти данные через службу Singleton.

Затем каждый клиент может получить те же данные из службы Singleton.

0 голосов
/ 03 июня 2011

У вас нет базы данных на бэкэнде?Если вы это сделаете, сохраните / прочитайте ваши данные в БД.Я не знаю, есть ли у вас какие-либо условия гонки или нет, но это будет ваш основной подход.

Если у вас нет БД, вашим следующим выбором может быть чтение / запись на диск.Это предполагает, что все приложения размещены на одном сервере и имеют доступ для чтения / записи к определенному каталогу.

Мой последний выбор - искать какой-то другой внутриприкладной (но тот же IIS) подход, хотя это звучиткак будто это то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...