我有一个用 .NET 4.5.2 上运行的 VB.NET 编写的 ASP.NET Web 窗体项目
我已经成功地将 Ninject 插入到我的应用程序中,但是我遇到了障碍。
我在我的网页中使用 Ninject 属性注入(示例如下)
Partial Class MyPage
Inherits Page
<Inject>
Public Property _myService As IService
对这项工作的所有调用......所以这很好
_myService.DoWork()
但是,在我的应用程序中,我们有一个类用于将调用包装到我们的服务中(见下文)
Public Class MyWrapper
<Inject>
Public Property _myService As IService
Public Sub DoWork()
_myService.DoWork()
End Sub
End Class
这个类被网页使用...
Dim wrapper As New MyWrapper()
wrapper.DoWork()
这不起作用 - 在 MyWrapper 类中,Ninject 没有注入 IService。
我猜是因为我的课程不是网页,它不在管道中,所以 Ninject 没有对它做任何事情。
我已经阅读了一些其他建议修改 MyWrapper 以从 Ninject.Web.PageBase 继承的帖子,但是尝试过它似乎不起作用。
有没有人有任何建议?
MyWrapper 在我们的应用程序中有 100 多个引用,因此理想情况下我不想更改每一行代码。
此外,MyWrapper 类有一些共享/静态方法——这会导致问题(如有必要,我可以更改它)。
仅供参考 - 上面的代码应该被视为伪代码 - 我是临时输入的而不是复制粘贴 - 所以它可能包含语法错误。