Как добавить поведение конечной точки по умолчанию для всех сервисов

Я пытаюсь добавить поведение конечной точки ко всем службам хоста.

Так, например, у меня есть пара объявлений.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), то это будет сделано для всех конечных точек службы (если не переопределено).

То же самое работает для служебного поведения (это то, что я использую, поэтому я знаю, что это работает).

Другие вопросы по тегам