Стек служб: разница между GetSession и SessionAs<t>
Есть ли существенные различия между Service.GetSession()
а также Service.SessionAs<T>()
и как они решают сессии?
Я поддерживаю этот код, который использует один в некоторых запросах и использует позже в других. Есть ли взаимозаменяемые или есть какие-то другие соображения?
1 ответ
Именно эта разница
public virtual IAuthSession GetSession(bool reload = false)
{
var req = this.Request;
if (req.GetSessionId() == null)
req.Response.CreateSessionIds(req);
return req.GetSession(reload);
}
protected virtual TUserSession SessionAs<TUserSession>()
{
var ret = TryResolve<TUserSession>();
return !Equals(ret, default(TUserSession))
? ret
: Cache.SessionAs<TUserSession>(Request, Response);
}
Я никогда не использовал ни одного из них, но кажется, что они не должны меняться случайным образом. Вы можете просмотреть этот исходный код здесь и выяснить, насколько они существенно отличаются. Трудно сказать на первый взгляд из-за отсутствия документации