sunil kumar meena Ответов: 1

Каково первое событие, когда мы можем получить данные кэша в приложении WCF?


У меня есть приложение winform, где я выставил службу WCF, и она размещена на IIS на сервере, и в ней есть около 10 методов.

Есть некоторые общие данные, которые мне нужны при вычислении всех 10 методов. Я хочу получить эти общие данные только один раз при запуске службы и поместить их в кэш, чтобы все методы могли получать данные из этого кэша, а не из базы данных. Есть ли способ достичь этого?

Что я уже пробовал:

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

1 Ответов

Рейтинг:
10

sunil kumar meena

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