Я пытаюсь преобразовать свой существующий сайт, чтобы использовать WCF для связи с моими службами в другом ящике. В настоящее время я использую авторегистрацию для непосредственного подключения моих услуг. Когда я пытаюсь использовать WcfFacility of Windsor, я получаю исключение ComponentRegistrationException на одном из моих интерфейсов, который я пытаюсь зарегистрировать. Ошибка ниже, это происходит только на определенном интерфейсе, все остальные интерфейсы работают правильно и закодированы одинаково.Ошибка регистрации странных компонентов с помощью Castle Windsor WcfFacility
Type Demo.IFooService is abstract.
As such, it is not possible to instansiate it as implementation of Demo.IFooService service
У меня есть другое приложение для окон, которое я преобразовал для использования WCF с теми же услугами, и это работает на 100%.
я зарегистрировать служб WCF (в обоих окнах и веб-приложений), используя следующий код:
Container.Register(Component.For<IFooService>()
.Named("FooService")
.ActAs(new DefaultClientModel
{
EndPoint = WcfEndPoint.BoundTo(new BasicHttpBinding())
.At("http://localhost/services/fooservice.svc")
}
));
Интерфейс помеченных ServiceContract и атрибуты OperationContract, и является такой же, как и все остальные.
Я не знаю, почему Виндзор видит это как абстрактный класс, но правильно регистрирует другой.
Любые идеи?
мало что знают о средстве wcf, но, возможно, тесты могут пролить свет на это: http://fisheye2.atlassian.com/browse/castleproject/trunk/Facilities/Wcf/Castle.Facilities.WcfIntegration. Тесты/WcfClientFixture.cs? R = 5543 –