добавить расширение поведения к поведению конечной точки в коде - PullRequest
1 голос
/ 17 сентября 2011

Я добавляю расширение поведения в web.config:

<extensions>
        <behaviorExtensions>
            <add name="WebAppBeaviourElement" type="WebApp.Extensions.CustomBehaviorExtensionElement, WebApp.Extensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        </behaviorExtensions>
    </extensions>

    <behaviors>
        <endpointBehaviors>
            <behavior name="WebAppBeaviour">
                <WebAppBeaviourElement />
            </behavior>
        </endpointBehaviors>
    </behaviors>

Но в Visual Studio 2010 есть ошибка - WebAppBehaviourElement не виден Visual Studio и выдает ошибку: /

Так что я думаючто можно добавить это расширение к endpointBehaviours в коде?И когда в коде я должен это сделать?

Ответы [ 2 ]

2 голосов
/ 18 сентября 2011

Вы можете расширить фабрику хоста

public class ExtendedHostFactory : WebServiceHostFactory

Затем добавьте поведение к хосту

protected override ServiceHost CreateServiceHost(System.Type serviceType, System.Uri[] baseAddresses)
  {
    ServiceHost host = base.CreateServiceHost(serviceType, baseAddresses) as WebServiceHost;
    host.Description.Behaviors.Add(new ValidateApiKey()); // ValidateApiKey is an IServiceBehavior
  }

Вы можете добавить хост в конфигурации. Если вы также выбрали для этого код, добавьте его в global.asax, как показано ниже

* * 1010
0 голосов
/ 18 сентября 2011

Visual Studio 2010 проверяет файл конфигурации на соответствие схемам XSD. Здесь определен один system.serviceModel Пользовательского поведения нет, но программы работают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...