gpt4 book ai didi

asp.net-mvc-3 - ninject 依赖解析器和服务定位器实现

转载 作者:行者123 更新时间:2023-12-03 18:15:42 25 4
gpt4 key购买 nike

我正在学习 ASP.NE4 MVC3。我已经创建了一个 NinjectDependencyResolver 类,但我想知道我将如何实现 ServiceLocator 类。目前我收到此错误“SportsStore.WebUI.Infrastructure.NinjectDependencyResolver 类型似乎没有实现 Microsoft.Practices.ServiceLocation.IServiceLocator。参数名称:commonServiceLocator"。

Global.asax
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();

RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
RegisterDependencyResolver();

//ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
}

private void RegisterDependencyResolver()
{
var kernel = new StandardKernel();

DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));

}

NinjectDepencyResolver cs
public class NinjectDependencyResolver
{
private readonly IKernel _kernel;

public NinjectDependencyResolver(IKernel kernel)
{
_kernel = kernel;
}

public object GetService(Type serviceType)
{
return _kernel.TryGet(serviceType);
}

public IEnumerable<object> GetServices(Type serviceType)
{
try
{
return _kernel.GetAll(serviceType);
}
catch (Exception)
{
return new List<object>();
}
}

最佳答案

您的 NinjectDependencyResolver 必须继承自 IDependencyResolver 因此您的代码应如下所示:

public class NinjectDependencyResolver : IDependencyResolver

关于asp.net-mvc-3 - ninject 依赖解析器和服务定位器实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9286245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com