1

我正在构建一个概念验证 webformsmvp 站点。我想在创建演示者时使用 Ninject (v3.0) 来解决我的服务(和任何其他)依赖项。这是我的 Presenter 构造函数的示例:

public ParticipantPresenter(IParticipantDisplayView view, IParticipantService participantService) : base(view)

因此,我想让 Ninject 使用自定义 IPresenterFactory 解析 IParticipantService 实现。

作为参考,这里是IPresenterFactory接口上需要实现的方法的签名:

IPresenter Create(Type presenterType, Type viewType, IView viewInstance); 

我有个问题; 如果我实现并注册我的 IPresenterFactory 实现,我是否负责解析 Presenter 构造函数中的 View 参数?webformsmvp 框架是否没有为我处理这个问题,或者现在我选择提供自定义工厂实现,我现在是否承担解决视图的责任?

PS 我注意到webformsmvp contrib 项目中有一个实现,但这是针对 Ninject v2 的。我一直在考虑为 Ninject3 重写代码。但这并不能帮助我回答这个问题。

4

1 回答 1

1

经过一番尝试,事实证明,如果您实现自己的IPresenterFactory,您不负责解析视图。看签名(同上):

IPresenter Create(Type presenterType, Type viewType, IView viewInstance);

viewInstance包含由 webformsmvp 框架解析的视图实例。我猜你有机会在你的工厂实现中对这个实例做一些事情。

在我的工厂中我需要做的就是解析presenterType,我通过委托给Ninject内核来做到这一点。

于 2012-06-04T15:47:43.857 回答