У меня во время выполнения предоставлен интерфейс службы 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 «как есть»?
Может быть, я мог бы предоставить фиктивную реализацию интерфейса предоставляемого сервиса, как бы вы это сделали?
Пожалуйста, не спрашивайте, почему;)
Если я получу ответ в другом месте, я дам вам знать.