, надеюсь, код говорит большую часть этого, но я хочу получать доступ к переменной сеанса каждые 5 минут, но единственный способ узнать, как это сделать, - использовать HttpContext.Current.
Это работает первымвремя, пока страница еще свежа, но не на следующих итерациях.
После первого успешного вызова CurrentCtx.Session становится пустым, я понимаю причину, но я ищу альтернативное решение, такэто работает.
Как мне это сделать?
public static void StartModelNotification()
{
var startTimeSpan = TimeSpan.Zero;
var periodTimeSpan = TimeSpan.FromMinutes(1);
var CurrentCtx = System.Web.HttpContext.Current;
timer = new System.Threading.Timer((e) =>
{
SendModelNotification(CurrentCtx);
}, null, startTimeSpan, periodTimeSpan);
}
public static void SendModelNotification(HttpContext CurrentCtx)
{
if (CurrentCtx != null)
{
if (CurrentCtx.Session != null)
{
var sessionModel = CurrentCtx.Session[ToxSentryWebConstants.QB_QUERYMODEL_MAPPING_SESSION_DATA];
if (sessionModel != null)
{
MappingModelGroupWrapper sessionMappingModel = sessionModel as MappingModelGroupWrapper;
sessionMappingModel.ResetModelLastAccessedDate(ResultsID);
}
}
}
}