Мы используем .NET Core и расширили ISession, чтобы мы могли хранить строго типизированные объекты как один элемент в Session.Код для этого прост (просто чтобы у вас была идея):
public static void SetObject<T>(this ISession session, string key, T value)
{
session.SetString(key, JsonConvert.SerializeObject(value));
}
Теперь я хотел бы использовать средство рендеринга AspNetSession NLog, чтобы попытаться получить значение одного из свойств сильнотипизированный объект, который находится в сеансе.
В файле конфигурации NLog я попытался получить доступ к свойству, подобному этому:
${aspnet-session:Variable=UserSessionValidationInfo.MstrUserID:EvaluateAsNestedProperties=true}
Где "UserSessionValidationInfo" - это имя ключа для объектамы застряли в Session, а MstrUserID - это имя свойства.
Ничего не возвращается.
Полагаю, это невозможно, но я надеялся, основываясь на приведенном здесь примере: https://github.com/NLog/NLog/wiki/AspNetSession-layout-renderer
В любом случае,у кого-нибудь есть идеи как это сделать?Нужно ли мне писать собственный рендерер макетов?