У меня есть служба WCF, которая используется для получения некоторых данных из моей базы данных.Размер базы данных очень большой, примерно 2 ГБ.Поэтому я кеширую эти данные.Я хочу, чтобы когда служба хоста эти данные должны быть кэшированы, поэтому я сначала использовал
InstanceContextMode = InstanceContextMode.Single
Эта служба поведения позволяет мне, что я могу просто написать код кэширования в конструкторе службы, как конструктор будетвызываться только когда servicehost.open ();вызов метода.Всякий раз, когда клиент будет вызывать эту службу через прокси-конструктор, он не будет вызываться.Это работает очень хорошо.Позже я понял, что этот InstanceContextMode имеет проблему с производительностью, когда 1000 пользователей одновременно вызывают эту службу, потому что только один экземпляр этой службы обслуживает все запросы.Чтобы получить максимальную производительность, я изменил свои настройки на
InstanceContextMode = InstanceContextMode.PerCall with ConcurrencyMode = ConcurrencyMode.Multiple
Теперь я хочу получить ту же функцию кэширования, которая используется для кэширования данных хоста службы,Пожалуйста, помогите мне решить эту проблему.
Пожалуйста, дайте мне знать, либо через CustomBehaviors я могу этого достичь?
С уважением, Ризван