Castle Windsor WcfFacility发生奇怪的组件注册错误

时间:2009-05-04 12:50:40

标签: c# wcf castle-windsor

我正在尝试将现有网站转换为使用WCF与另一个框上的服务进行通信。目前,我使用自动注册直接连接我的服务。当我尝试使用Windsor的WcfFacility时,我在我尝试注册的一个接口上收到ComponentRegistrationException。错误如下,它只发生在特定的接口上,所有其他接口都能正常工作,并以相同的方式编码。

Type Demo.IFooService is abstract.
As such, it is not possible to instansiate it as implementation of Demo.IFooService service

我有另一个Windows窗体应用程序,我转换为使用相同服务的WCF,这100%工作。

我使用以下代码注册WCF服务(在Windows和Web应用程序中):

Container.Register(Component.For<IFooService>()
.Named("FooService")
.ActAs(new DefaultClientModel
  {
    EndPoint = WcfEndPoint.BoundTo(new BasicHttpBinding())
               .At("http://localhost/services/fooservice.svc")
  }
 ));

接口标有ServiceContract和OperationContract属性,并且与所有其他属性相同。

我不知道为什么Windsor会将其视为一个抽象类,但正确地注册另一个。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

我已经解决了这个问题,似乎我以某种方式删除了在Web应用程序上注册WCFFacility的代码行,但仍然在Windows应用程序上使用它,这解释了为什么它在那里工作。我似乎是个白痴......好吧。

希望这可以帮助那些遇到这种例外并且和我一样白痴的人:)

无论如何,谢谢你的帮助。

答案 1 :(得分:1)

获取最新版本。我相信这已经解决了。

相关问题