Я пытаюсь преобразовать свой существующий сайт, чтобы использовать WCF для связи со своими службами в другом окне. В настоящее время я использую авторегистрацию, чтобы напрямую подключить свои услуги. Когда я пытаюсь использовать WcfFacility of Windsor, я получаю исключение 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, так и в веб-приложениях), используя следующий код:
Container.Register(Component.For<IFooService>()
.Named("FooService")
.ActAs(new DefaultClientModel
{
EndPoint = WcfEndPoint.BoundTo(new BasicHttpBinding())
.At("http://localhost/services/fooservice.svc")
}
));
Интерфейс помечен атрибутами ServiceContract и OperationContract и является таким же, как и все остальные.
Я понятия не имею, почему Виндзор видит это как абстрактный класс, но правильно регистрирует другой.
Есть идеи?