这是我尝试的代码,但当前的http上下文为空 HttpContext.current.Session []在代码执行之间变为null。 async方法如下
public async Task<User> GetUser()
{
try
{
if (_sessionService.IsSet(SessionKey.User))
{
return _sessionService.Get<GBLUser>(SessionKey.User);
}
else
{
var userID = _environmentService.GetUserId();
var user = await _userService.GetUser(userID);
_sessionService.Set(SessionKey.User, user);
return user;
}
}
catch (Exception ex)
{
throw new Exception("", ex);
}
}
public void Set(SessionKey key, object data)
{
try
{
var sessionData = (Dictionary<string, object>)HttpContext.Current.Session[_sessionKey];
if (sessionData != null)
{
sessionData.Add(key.ToString(), data);
HttpContext.Current.Session[_sessionKey] = sessionData;
}
else
{
HttpContext.Current.Session[_sessionKey] = new Dictionary<string, object> { { key.ToString(), data } };
}
}
catch (Exception ex)
{
throw ex;
}
}
是否需要其他配置才能完成此项工作