使用动作过滤器和EF进行授权

时间:2016-08-02 07:46:41

标签: c# asp.net-web-api asp.net-mvc-5 ninject

我试图通过实施Inject来创建自己的授权过滤器,因此它依赖于存储库和用户管理器(他们使用的是EF)。我试图通过使用bootstrapper属性解决它,但它会注入一个已处理的实例(这里提出的问题完全相同:MVC3 Action Filter Using Database (EF 4.1 DBContext, Ninject)

所以我尝试使用 public override void OnActionExecuting(HttpActionContext actionContext) { UserManager = (UserManager<User>)Startups.NinjectConfig.bootstrapper.Kernel.GetService(typeof(UserManager<User>)); // other repositories are same as user manager. // check user access base.OnActionExecuting(actionContext); } 来获取我的依赖项:

CONNECT BY

它工作正常,我有我的存储库实例,但是当它同时收到两个(或更多)请求时会抛出此异常:

  

在上一次异步操作完成之前,在此上下文中启动了第二个操作。

Ninject绑定在请求范围内。

为什么会发生这种情况,解决这个问题的最佳方法是什么?

0 个答案:

没有答案