Asp.net mvc Ninject属性注入在ActionFilters上不起作用
我有一个接口和一个实现该接口的类Asp.net mvc Ninject属性注入在ActionFilters上不起作用,asp.net-mvc,dependency-injection,ninject,Asp.net Mvc,Dependency Injection,Ninject,我有一个接口和一个实现该接口的类 public interface ISessionVariables { bool IsSessionTokenValidated { get; set; } } public class HttpContextSessionVariablesAdapter : ISessionVariables { private T Get<T>(string key) { return (T)HttpContext.C
public interface ISessionVariables
{
bool IsSessionTokenValidated { get; set; }
}
public class HttpContextSessionVariablesAdapter : ISessionVariables
{
private T Get<T>(string key)
{
return (T)HttpContext.Current.Session[key];
}
private void Set(string key, object value)
{
HttpContext.Current.Session[key] = value;
}
public bool IsSessionTokenValidated
{
get { return Get<bool>("IsSessionTokenValidated"); }
set { Set("IsSessionTokenValidated", value); }
}
}
奇怪的错误:
如果将ValidateSessionTokenAttribute
添加到ActionResult,则会填充SessionVariables
属性
[ValidateSessionToken]
public ActionResult Index()
{
}
如果将同一筛选器绑定到所有ActionResults(在FilterConfig中),则SessionVariables
属性始终为null
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new ValidateSessionTokenAttribute());
}
}
我做错了什么?可能重复
[ValidateSessionToken]
public ActionResult Index()
{
}
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new ValidateSessionTokenAttribute());
}
}