微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – 命中错误:在解析器和自定义注册提供程序中找到了IControllerFactory的实例

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

An instance of IControllerFactory was found in the
resolver as well as a custom registered provider in
ControllerBuilder.GetControllerFactory. Please set only one or the other.

我们没有使用ControllerBuilder注册我们的控制器工厂,只有this blog中指出的IDependencyResolver

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

DependencyResolver.SetResolver(new WindsorDependencyResolver(IoC));

可能导致此异常的原因是什么?任何帮助,将不胜感激.

解决方法

不推荐在Castle Windsor中使用MVC DependencyResolver,因为它有一个设计缺陷:它不会在应该发布服务实例时释放它.有关完整说明,请参阅此 article.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐