Совместно используйте экземпляр объекта между вызовами веб-сервиса

У меня есть объект, который имеет относительно высокую стоимость инициализации, которая обеспечивает, ориентированный на многопотоковое исполнение метод расчета должен был обработать запросы к веб-сервису.

Я ищу лучший способ сохранить инициализированный экземпляр доступным между запросами.

Один метод должен объявить это как статическую переменную. Это затем осталось бы доступным, пока AppDomain не переработан.

Это - более старый веб-сервис, который не использует WCF, но преобразование является опцией, если это предоставило бы лучшее решение.

Существует ли лучший подход?

6
задан John Saunders 24 February 2010 в 00:16
поделиться

1 ответ

Как насчет кэширования объекта в HttpRuntime.Cache?

MyObject val = (MyObject)HttpRuntime.Cache["MyCacheKey"];
if (val == null)
{
    val = // create your expensive object here
    HttpRuntime.Cache.Insert("MyCacheKey", val, null, 
      DateTime.Now.AddSeconds(3600), 
      System.Web.Caching.Cache.NoSlidingExpiration);
}

Здесь я оставляю его в кэше до часа, но вы можете варьировать это время по мере необходимости.

2
ответ дан 17 December 2019 в 20:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: