Как добавить поведение конечной точки по умолчанию для всех сервисов
Я пытаюсь добавить поведение конечной точки ко всем службам хоста.
Так, например, у меня есть пара объявлений.svc ServiceHost, и я хочу знать, как я смогу настроить это через Web.config.
Есть идеи? Благодарю.
3 ответа
Создайте пользовательский класс, производный от ServiceHost, и пользовательский класс, производный от ServiceHostFactory. В вашей пользовательской реализации ServiceHost добавьте необходимые варианты поведения. Вот вам пример.
Не проверено, но посмотрите, поможет ли это -
foreach (var endPoint in mySvcHost.Description.Endpoints)
{
endPoint.Behaviors.Add(new MyBehavior());
}
Это не проверено, но я думаю, что если вы добавите EndpointBehavior без имени в Advanced->Endpoint Behavior (в инструменте конфигурации WCF), то это будет сделано для всех конечных точек службы (если не переопределено).
То же самое работает для служебного поведения (это то, что я использую, поэтому я знаю, что это работает).