У меня есть служба WCF, размещенная на IIS, и мне нужно добавить к ней поведение конечной точки.Я не могу просто добавить его в web.config.(Мы должны поддерживать архитектуру плагинов, и авторы плагинов не будут иметь доступа к моему web.config.) Я попытался поместить это в статический конструктор для сервиса:
var endpointDispatcher = OperationContext.Current.EndpointDispatcher;
SilverlightFaultMessageInspector inspector = new SilverlightFaultMessageInspector();
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(inspector);
, но выдает исключение, говорящее«Это значение нельзя изменить после открытия ServiceHost.»Если я вызываю host.Close () перед добавлением объекта инспектора, он по-прежнему выдает то же исключение.
Я тоже пробовал это сделать:
var host = OperationContext.Current.Host;
host.Description.Endpoints[0].Behaviors.Add(new SilverlightFaultBehavior());
, но, похоже, это не дает никакого эффекта.Поведение конечной точки никогда не вызывается.
Так возможно ли добавить поведение конечной точки в службу WCF, размещенную на IIS?