Has*_*jmi 8 ninject asp.net-mvc-4 asp.net-web-api dependency-resolver
我已创建和MVC 4 Web应用程序,并决定在此应用程序中使用web api.我正在为MVC Web应用程序使用ninject依赖解析器.现在我想对web api使用这个ninject依赖解析器.但是这里提出的问题mvc IDependencyResolver命名空间是:using System.Web.Mvc
和web api IDependencyResolver是using System.Web.Http.Dependencies
那我怎么解决这个问题呢?
最后我想要这样的东西:
// Use the container and the NinjectDependencyResolver as
// application's resolver
var resolver = new NinjectDependencyResolver(container);
//Register Resolver for MVC
DependencyResolver.SetResolver(resolver);
//Register Resolver for Web Api
GlobalConfiguration.Configuration.DependencyResolver = resolver;
Run Code Online (Sandbox Code Playgroud)
Nen*_*ird 14
有一种方法可以在MVC和ASP.NET Web API之间共享相同的容器.您只需要实现两个接口.
public class NinjectDependencyResolver : NinjectDependencyScope, IDependencyResolver, System.Web.Mvc.IDependencyResolver
{
private readonly IKernel kernel;
public NinjectDependencyResolver(IKernel kernel)
: base(kernel)
{
this.kernel = kernel;
}
public IDependencyScope BeginScope()
{
return new NinjectDependencyScope(this.kernel.BeginBlock());
}
}
Run Code Online (Sandbox Code Playgroud)
查看本文寻求解决方案: 在MVC和Web API之间共享依赖性解析器的简单方法
| 归档时间: |
|
| 查看次数: |
11268 次 |
| 最近记录: |