0

当我尝试在 Castle Windsor 中注册一个指向配置中有错误的 WCF 服务的组件时,我试图收到一条错误消息。为了注册我正在使用的组件:

container.Register(Component.For<MembershipService>().ImplementedBy<MembershipServiceClient>.LifeStyle.Transient);

配置文件有以下两个条目(绑定指向一个不存在的文件):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <bindings configSource="Configs\local\nonexistingbindingfile.xml"/>
    <client configSource="Configs\local\system.serviceModel.client.xml"/>
  </system.serviceModel>
</configuration>

发生的情况是 Castle 注册我的组件不会失败,但它不会为其他组件的任何依赖项解析 MembershipService,它会将属性设置为 null,但此时我没有任何错误日志指向文件的问题和故障排除变得非常困难。

谢谢。

4

1 回答 1

1

如果一个有效的实例是必不可少的,那么我认为应该通过构造函数注入而不是属性注入来完成。这样Castle如果无法解决就会抛出。

于 2011-06-08T06:10:43.813 回答