我在使用Ninject的InSingletonScope与Web Api RC绑定时遇到了一些困难.无论我如何创建绑定,看起来Web Api可能正在处理范围/生命周期而不是Ninject.
我尝试了一些关于连接Ninject的变种.最常见的是与此处的答案相同: ASP.NET Web API与ninject的绑定
我也试过这个版本:http: //www.peterprovost.org/blog/2012/06/19/adding-ninject-to-web-api/
在两者中,我实际上创建了一个开箱即用的Web Api项目,然后添加Ninject包,如任一帖子中所述.最后,我正在为StackOverflow版本添加Resolver和Scope类,例如:
public class NinjectDependencyScope : IDependencyScope
{
private IResolutionRoot resolver;
internal NinjectDependencyScope(IResolutionRoot resolver)
{
Contract.Assert(resolver != null);
this.resolver = resolver;
}
public void Dispose()
{
IDisposable disposable = resolver as IDisposable;
if (disposable != null)
disposable.Dispose();
resolver = null;
}
public object GetService(Type serviceType)
{
if (resolver == null)
throw new ObjectDisposedException("this", "This scope has already been disposed");
return resolver.TryGet(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
if …Run Code Online (Sandbox Code Playgroud)