我编写了一个代码来获取与HttpContext匹配的用户属性,但是当我试图访问User属性时,外部类是不可见的。例如,这是我的Auth Class和User attr。
public class Auth
{
IBaseRepository<User> _users;
public Auth(IBaseRepository<User> user)
{
this._users = user;
}
private const string UserKey = "simpleBlog.Atuh.UserKey";
public virtual User User
{
get
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
return null;
var user = HttpContext.Current.Items[UserKey] as User;
if (user == null)
{
user = _users.GetAll().FirstOrDefault(u => u.Name == HttpContext.Current.User.Identity.Name);
if (user == null)
return null;
HttpContext.Current.Items[UserKey] = user;
}
return user;
}
}
}
要从外部课程中获取用户,显示的选项是&#34; Equals&#34;,&#34; ReferenceEquals&#34;。
必须提及我使用依赖注入
答案 0 :(得分:0)
您忘记使用new关键字实例化该类。如果您没有实例化该类,那么您只能获得用静态关键字标记的类方法。
var baseRepository = new BaseRepository<user>();
var auth = new Auth(baseRepository);
// Now you can access auth.User
console.log(auth.User.Name);