Glomek과 같은 접근 방식을 선호합니다 ... WebCache의 설정을 캐시하면 액세스 속도가 크게 향상됩니다.
#region Data Access
private string GetSettingsFromDb(string settingName)
{
return "";
}
private Dictionary<string,string> GetSettingsFromDb()
{
return new Dictionary<string, string>();
}
#endregion
private const string KEY_SETTING1 = "Setting1";
public string Setting1
{
get
{
if (Cache.Get(KEY_SETTING1) != null)
return Cache.Get(KEY_SETTING1).ToString();
Setting1 = GetSettingsFromDb(KEY_SETTING1);
return Setting1;
}
set
{
Cache.Remove(KEY_SETTING1);
Cache.Insert(KEY_SETTING1, value, null, Cache.NoAbsoluteExpiration, TimeSpan.FromHours(2));
}
}
private Cache Cache { get { return HttpContext.Current.Cache; } }
당신은, 사용하지 않은 2 시간 후에 캐시에서 항목을 던지기의 메모리 절약을 동적 로딩 선 (善)을 얻을 것이고, 플러시와 설정을 수정할 때 필요한 다시 다음 고려하십시오.
사이트 별 설정 또는 개별 사용자 설정에 해당됩니까 ?? 캐시 대신 세션 개체에 사용자 설정을 저장 하시겠습니까 ?? – Schotime
예, 세션의 사용자 설정을 캐시하십시오. 래퍼 클래스가 Session에 넣기 위해 Serializable인지 확인하십시오 –