Mark
Mark

Reputation:

Strange Component Registration error with Castle Windsor WcfFacility

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?

Upvotes: 2

Views: 1117

Answers (2)

Mark
Mark

Reputation:

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.

Upvotes: 3

Krzysztof Kozmic
Krzysztof Kozmic

Reputation: 27374

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

Upvotes: 1

Related Questions