Передача данных в GetVaryByCustomString из контроллера - PullRequest
0 голосов
/ 09 мая 2020

У меня есть приложение ASP. NET MVC, и я использую кеш вывода.

Мне нужна дополнительная информация из базы данных в методе GetVaryByCustomString.

Я не могу использовать Session, TempData и c ... в GetVaryByCustomString.

Как я могу передать данные в GetVaryByCustomString из контроллера?

//In Controller
Session["IsAdmin"] = LoggedUser.IsAdmin;
Session["IsSalesMan"] = LoggedUser.IsSalesMan;
Session["SomeData"] = SomeObject.SomeData;

//In global.asax
public override string GetVaryByCustomString(HttpContext context, string arg)
{
    var session = context.Session;
    var request = context.Request;

    var sb = new StringBuilder();

    //here throw exception becauase session is null
    sb.Append(session["IsAdmin"]);
    sb.Append(session["IsSalesMan"]);
    sb.Append(session["SomeData"]);

    return sb.ToString();
}
...