Service.GetSession()
之间是否存在显着差异和Service.SessionAs<T>()
他们如何解决 session ?
我正在维护这段代码,该代码在某些请求中使用其中一个,而在其他请求中使用后者。是否可以互换或者有其他考虑因素?
最佳答案
正是这个区别
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);
}
我从来没有使用过它们中的任何一个,但似乎它们不应该随意互换。你可以浏览这个源码here并找出它们有多么显着的差异。由于缺乏文档,乍一看很难判断
关于c# - 服务堆栈: Difference between GetSession and SessionAs<t>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20633428/