хранить данные внутри службы WCF и извлекать их позже клиентом - PullRequest
0 голосов
/ 26 ноября 2011

У меня есть элемент управления ajax Autocomplete, который автоматически вызывает метод службы WCF. этот метод получает строку в качестве входного параметра и возвращает список строк. Я не делаю этот вызов от клиента, элемент управления делает это, но я пишу содержание этого метода.

Могу ли я хранить некоторые данные где-нибудь в службе WCF при вызове этого метода и извлечь их позже, когда я использую WCF от клиента? Я имею в виду, я хочу, чтобы элемент управления вызывал метод, в методе я буду хранить некоторые данные, а позже, когда я использую объект клиента WCF, я извлеку его.

существует ли такой механизм "кэша WCF"?

1 Ответ

2 голосов
/ 26 ноября 2011

Нет, не существует такого механизма, как кэш WCF. Но WCF - это .NET, и в приложении .NET вы можете использовать Блок приложения кэширования .

.

Кэширование имеет мало общего с WCF. Вы кэшируете внутри своего приложения, но механизм кэширования для службы WCF в основном такой же, как приложение Windows Forms или управляемая служба Windows (или веб-служба ASMX, или приложение ASP.NET, или любое приложение .NET). Разница лишь в том, как вы используете кеш и полагаетесь на него, а также на управление жизненным циклом приложения.

Если ваша служба WCF размещена в IIS (что очень популярно), то при повторном использовании пула приложений (или перезапуске веб-сайта) вы потеряете все в кэше. Будет ли это проблемой?

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

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