Элемент «behavior» имеет недопустимый дочерний элемент «transportClientEndpointBehavior», а также basicHttpRelayBinding.

Я могу получить эту ошибку в Visual Studio при создании файла конфигурации WCF, поскольку редактор VS не знает об этом расширении. Мне нужно знать, где разместить transportClientEndpointBehavior, нужна помощь? благодаря.

 <behaviors>
  <endpointBehaviors>
    <behavior name="sharedSecretClientCredentials">
      <transportClientEndpointBehavior credentialType="SharedSecret">
        <clientCredentials>
          <sharedSecret issuerName="***********" issuerSecret="**********" />
        </clientCredentials>
      </transportClientEndpointBehavior>
      <ServiceRegistrySettings discoveryMode="Public"/>
    </behavior>
  </endpointBehaviors>
  ...
</behaviors>

У меня также есть проблема с basicHttpRelayBinding, который, как я полагаю, должен быть включен в привязки.


person 404Dreamer_ML    schedule 01.03.2011    source источник


Ответы (3)


В комплекте обучения платформы Windows Azure есть образец, который делает это программно. Вот образец фрагмента ...

// create the service URI based on the service namespace
        Uri address = ServiceBusEnvironment.CreateServiceUri("sb",
                      serviceNamespaceDomain, "EchoService");

        // create the credential object for the endpoint
        TransportClientEndpointBehavior sharedSecretServiceBusCredential = new TransportClientEndpointBehavior();
        sharedSecretServiceBusCredential.CredentialType = TransportClientCredentialType.SharedSecret;
        sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerName = issuerName;
        sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerSecret = issuerSecret;

        // create the service host reading the configuration
        ServiceHost host = new ServiceHost(typeof(EchoService), address);

        // create the ServiceRegistrySettings behavior for the endpoint
        IEndpointBehavior serviceRegistrySettings = new ServiceRegistrySettings(DiscoveryType.Public);

        // add the Service Bus credentials to all endpoints specified in configuration
        foreach (ServiceEndpoint endpoint in host.Description.Endpoints)
        {
            endpoint.Behaviors.Add(sharedSecretServiceBusCredential);
        }

        // open the service
        host.Open();
person joelf    schedule 01.03.2011

Вы установили SDK AppFabric? ServiceRegistrySettings также должно быть serviceRegistrySettings.

person SliverNinja - MSFT    schedule 04.08.2011

Visual Studio Intellisense использует встроенные схемы для выполнения проверок. Следовательно, он не распознает расширение поведения transportClientEndpointBehavior и отобразит предупреждение. Не обращайте внимания на это предупреждение.

Ответ взят из официального учебника Microsoft «20487B-ENU-TrainerHandbook.pdf». Стр. Решебника 278

person ssinotna    schedule 09.05.2016
comment
Вы не можете игнорировать это. У меня такая же проблема, и из-за этого служба не запускается. Поскольку это элемент поведения, само поведение недопустимо. Таким образом, конечная точка, использующая поведение, в свою очередь, недействительна из-за ограничения перечисления. - person Jeff Reddy; 19.05.2016
comment
Мой ответ был из 20487B-ENU-TrainerHandbook.pdf, который является официальным учебником Microsoft. Стр. Решебника 278 - person ssinotna; 01.06.2016