Castle Windsor WCF Facility хост основан только на интерфейсе сервиса WCF? - PullRequest
1 голос
/ 01 февраля 2010

У меня во время выполнения предоставлен интерфейс службы WCF:

    [ServiceContract]
    public interface IHelloService {
        [OperationContract]
        string SayHello(string message);
    }

Что я хотел бы сделать с моим Windsor-контейнером (один раз для каждого предоставленного сервисного интерфейса):

container.Register(Component
    .For(typeof(IHelloService))
    .Interceptors(typeof(HelloServiceInterceptor)).First
    .ActAs(new DefaultServiceModel()
        .AddEndpoints(WcfEndpoint
            .BoundTo(new BasicHttpBinding())
            .At("http://localhost:6080/HelloService/")
        )
    )
);

Как видите, реализация не будет предоставлена.

И перехватчик:

    class HelloServiceInterceptor: Castle.Core.Interceptor.IInterceptor {
        public void Intercept(Castle.Core.Interceptor.IInvocation invocation)
        {
            // Do what I must to answer the call
        }
    }

Это возможно с Windsor WCF Facility "как есть"?
Есть ли способ достичь этого с помощью Windsor WCF Facility «как есть»?
Может быть, я мог бы предоставить фиктивную реализацию интерфейса предоставляемого сервиса, как бы вы это сделали?

Пожалуйста, не спрашивайте, почему;)

Если я получу ответ в другом месте, я дам вам знать.

...