我在为已注册的组件添加附加服务时遇到问题。 我有以下情况:
public class MyImplementation : BaseClass, IInterface
{
}
在我的应用程序的基础结构中的某处(不受更改),我的课程以下列方式注册:
container.Register(Classes
.FromThisAssembly()
.BasedOn(typeof (BaseClass))
.WithServiceBase()
.LifestyleTransient());
我现在要做的是向MyImplementation组件添加其他服务。我尝试使用以下方法在我的安装程序中执行此操作:
container.Register(Classes
.FromThisAssembly()
.BasedOn(typeof (IInterface))
.WithServiceBase()
.LifestyleTransient());
但是当试图从容器中解析IInterface时,我得到的错误是没有为IInterface注册的组件。
我的问题是,是否可以为已注册的组件添加其他服务? 提前致谢。 迈克
答案 0 :(得分:0)
我认为如果您更改第二次注册,它将起作用:
container.Register(Classes
.FromThisAssembly()
.BasedOn(typeof (IInterface))
.WithServiceAllInterfaces()
.LifestyleTransient());