Какой метод кэширования.Net здесь необходим
У меня есть веб-сервис WCF в.Net 4.0.
Я вызываю другой веб-сервис с него, и он отправляет мне объект XML (около 50 КБ) в качестве ответа.
Объект ответа вряд ли будет часто меняться. Поэтому я должен выбрать технику кеширования, чтобы каждый раз делать на один звонок меньше, и это тоже будет быстрее.
Я читал, что существует много методов кэширования.Net. Некоторые из них также подходят для службы WCF.
Пожалуйста, объясните мне, на какую методику кэширования я должен пойти?
2 ответа
Поскольку у вас есть только одна служба, которой требуется доступ к этому кешу, и это не так уж важно, если кеш перезагружается каждые пару часов, вы можете сделать вещи действительно простыми.
Самое простое решение - использовать кэш-память в процессе. По сути, это словарь в памяти, в котором вы можете хранить любые значения, но он также заботится о том, чтобы не занимать слишком много памяти и заканчивать записи, если они становятся слишком старыми.
Вот хорошая рецензия с примером того, как ее использовать.
Поскольку кэширование происходит на вашем собственном сервере, вы должны использовать десериализованный xml в некоторый объект класса. Я думаю, что лучше всего было бы использовать Post Sharp в вашем случае. Смотрите это: http://www.sharpcrafters.com/postsharp/download