我有一些存储库。与它们的工作是通过一个接口来实现的IRepository
。
在使用 ISession 实现的示例项目构造函数中。 HomeController
当我写这个时:
public class TestingController : Controller
{
private ISession session;
public TestingController(ISession session)
{
this.session = session;
}
//Some code here with this.session
}
它运作良好。当我决定使用IRepository
:
public class TestingController : Controller
{
private IRepository repository;
public TestingController(IRepository repository)
{
this.repository = repository;
}
//Some code here with this.repository
}
它在其他类的这个方法中不起作用WindsorControllerFactory
:
protected override IController GetControllerInstance(System.Web.Routing.RequestContext requestContext, Type controllerType)
{
if (controllerType == null)
{
throw new HttpException(404, string.Format("The controller for path {0} culd not found!", requestContext.HttpContext.Request.Path));
}
return (IController)this.kernel.Resolve(controllerType);
}
我有例外
无法创建组件“MvcApplication1.Controllers.ResultsController”,因为它需要满足依赖关系。
'MvcApplication1.Controllers.ResultsController' 正在等待以下依赖项: - 未注册的服务 'dal.Repository.IRepository'。
如何解决?
PS 大会dal.Repository
正在工作。如果我到处写new dal.Repository.Repository()
而不是this.repository
- 它工作。