Используйте Cache.Add() и установите приоритет кеша чрезвычайно высоким (CacheItemPriority.NotRemovable), это поможет ему оставаться в кеше.
HttpContext.Current.Cache.Add("key", "your object", null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null);
System.Web.Caching.CacheItemPriority.NotRemovable
Это все еще кажется, не гарантирует, что, находясь в кэше, но он также устанавливает, что так высоко его весьма маловероятно, что это будет ... но вам все еще нужно проверить, если его там и повторно кэшировать, если нет ... (похоже, что некоторые люди на межтрубках не любят использовать этот высокий параметр кеша ... и некоторые из них ... зависят от вашего точного сценария, я думаю ...)
public static string GetSpecialObject
{
get
{
object obj = HttpContext.Current.Cache["key"];
if (obj == null)
{
obj = HttpContext.Current.Cache.Add("key",
"I stay in cache as best i can object", // Build Object Function Here
null,
Cache.NoAbsoluteExpiration,
Cache.NoSlidingExpiration,
CacheItemPriority.NotRemovable,
null);
}
return (string)obj;
}
}
удача
Что вы хотите сохранить? –
Насколько велика/сложна вещь? или это просто настройки? – BigBlondeViking