views:

342

answers:

2

Hi,

I'm trying to convert my existing site to use WCF to communicate with my services on another box. Currently I use auto-registration to wire-up my services directly. When I try to use the WcfFacility of Windsor I get a ComponentRegistrationException on one of my interfaces that I'm trying to register. The error is below, it only happens on a particular interface, all other interfaces work correctly and are coded in the same way.

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

I have another windows forms application that I converted to use WCF with the same services and this works 100%.

I register the WCF Services (in both windows and web apps) using the following code:

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

The interface is marked with ServiceContract and OperationContract attributes, and is the same as all the other ones.

I have no idea why Windsor is seeing this as an Abstract class but is registering the other correctly.

Any ideas?

A: 

Get the latest build. I believe this has been fixed.

Krzysztof Koźmic
+1  A: 

I've resolved this issue, it seems I somehow deleted the line of code that registers the WCFFacility on the web app, but still had it on the windows app, which explains why it was working there. I'm an idiot it seems...oh well.

Hopefully this will help anyone who runs into that exception and who is as much of an idiot as me :)

Thanks for the help anyway.

Oh, Ok. Good luck then :)
Krzysztof Koźmic