Мне нужен пользовательский IOperationInvoker в моем сервисе.У меня это работает просто отлично, но мне не особенно нравится идея, что для того, чтобы применить его к определенной операции, я должен сделать его атрибутом.Кажется, я не могу найти какую-либо документацию о том, как настроить его на основе конфигурации (похоже на MessageInspector на конечной точке).
Я создал CustomBehavior, который реализует IEndpointBehavior .В ApplyDispathBehavior у меня есть следующее:
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
{
foreach (var operation in endpointDispatcher.DispatchRuntime.Operations)
{
operation.Invoker = new MockServiceOperationInvoker() {Invoker=operation.Invoker };
}
}
Однако пользовательский вызывающий объект, похоже, не «прилипает».Могут ли изменения быть очищены позже в жизненном цикле?
Все работает, если я сделаю поведение атрибутом, но я бы предпочел этого не делать.Кто-нибудь знает лучший способ применить пользовательский OperationBInvoker ко всем методам в данной конечной точке?
Большое спасибо!