7

我们在某些环境中遇到了以下错误,似乎是在应用程序池回收之后。

在解析器中找到了 IControllerFactory 的实例,并在 ControllerBuilder.GetControllerFactory 中找到了自定义注册的提供程序。请只设置一个或另一个。

我们没有使用 ControllerBuilder 来注册我们的控制器工厂,只使用 IDependencyResolver ,正如本博客中指出的那样

我们使用 Castle Windsor(看似无关)作为我们的容器,并在 Global.asax 的 Application_Start 中,首先注册我们所有的依赖项并调用以下内容来注册 IDepencencyResolver。

DependencyResolver.SetResolver(new WindsorDependencyResolver(IoC));

什么可能导致此异常?任何帮助,将不胜感激。

4

2 回答 2

0

不建议将 MVC DependencyResolver 与 Castle Windsor 一起使用,因为它存在设计缺陷:它不会在应该发布服务实例时发布。有关完整说明,请参阅本文

相反,请使用Windsor 文档中说明的方法,该方法使用自定义工厂将依赖项注入控制器。

于 2013-06-21T09:31:25.453 回答
0

有关信息,我有相同的错误消息(使用 ninject)。我不明白为什么,因为该应用程序在其他机器上启动良好。我试图清除缓存...但错误仍然存​​在。我在我的存储库中重做了一个结帐,没关系...

于 2015-05-11T12:21:57.730 回答