无法使用Ninject.Web在设计模式下查看控件

时间:2011-03-04 17:00:35

标签: asp.net dependency-injection webforms inversion-of-control ninject.web

我正在Ninject的网络表单网站中玩依赖注入,虽然我没有任何问题让网站运行顺利但是在使用设计模式查看单个页面时我遇到了一个非常大的问题。

我通常不会使用设计模式,但将Web用户控件拖放到设计空间是最简单的方法,将它们添加到页面中。

此设置与指南here完全相同 因此,设计页面上的错误是:

  

“页面名称”类型请求   注射,但没有内核   注册的            Web应用程序。请确保您的项目定义了一个   NinjectHttpApplication。

我正在使用Asp.Net 4.0与Ninject和Ninject.Web 2.2利用属性注入

目前这几乎是一个显示阻止。

干杯!

我无法相信它已经过了6天而没有回应....我是唯一一个遇到这个问题的人吗?

2 个答案:

答案 0 :(得分:1)

我有同样的问题,我的ASP.NET Forms应用程序(我想我也是使用ninject与这种类型的op app的最后一个mohicans ;-))。我的解决方案是将PageBase和MasterPageBase中的方法'RequestActivation'从OnInit页面事件中移动到页面的构造函数中...(/请参阅Git上的Ninjects Web)...

答案 1 :(得分:0)

仔细检查后,问题只发生在使用属性注入时。解决方法是从您设置的任何类中获取应用程序Ninject Kernal的静态实例的值,以处理IOC而不是使用Inject标记。

在Visual Studio 2010上升级到SP1会使问题完全消失。

相关问题