web-dev-qa-db-fra.com

quel est l'attribut "behaviorConfiguration" du service?

quel est l'attribut "behaviorConfiguration" du service?

<services>
      <service name="WcfServiceNetMSMQ.Service1" behaviorConfiguration="WcfServiceNetMSMQ.Service1Behavior">
        <Host>
          <baseAddresses>
            <add baseAddress = "http://localhost:8010/WcfServiceNetMSMQ/Service1/" />
          </baseAddresses>
        </Host>
        <endpoint address ="net.msmq://localhost/private/myqueue" binding="netMsmqBinding" contract="WcfServiceNetMSMQ.IService1">
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
21
Neo

C'est une référence à une autre section de configuration:

<behaviors>
   <serviceBehaviors>
      <behavior name="WcfServiceNetMSMQ.Service1Behavior">

      </behaviors>
   </serviceBehaviors>
</behaviors>

Où cette section contient une configuration globale pour l'ensemble du service.

28
Ladislav Mrnka

Il existe 3 sections importantes lorsque vous configurez un service WCF.

1) Définir les services:

<services>
      <service behaviorConfiguration="SOAPRESTDemoBehavior" name="SOAPRESTDemo">
        <endpoint address="rest" behaviorConfiguration="SOAPRESTDemoEndpointBehavior" binding="webHttpBinding" contract="ISOAPRESTDemo" />
        <endpoint address="soap" binding="basicHttpBinding" contract="ISOAPRESTDemo" />
      </service>
    </services>

NOTE la valeur de behaviorConfiguration est une référence à une section plus loin dans la configuration, voir ci-dessous ...

2) Définir les «comportements de service»

 <serviceBehaviors>
        <behavior name="SOAPRESTDemoBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>

3) Définition des «comportements de point de terminaison»

<endpointBehaviors>
        <behavior name="SOAPRESTDemoEndpointBehavior">
          <webHttp/>
        </behavior>
      </endpointBehaviors>

Les 3 sections constituent la base de ce dont vous avez besoin pour configurer un service (bien que cela puisse être fait par programme).

En ce qui concerne votre question, la section behaviorConfiguration concerne les points 2 et 3 de mes remarques précédentes. C'est là que vous définissez le type d'actions que vous souhaitez que votre service ait. Par exemple, ci-dessus, j'ai indiqué que je souhaitais autoriser la publication de MetaData. Cela créera essentiellement un WSDL décrivant le service. 

La configuration complète est ici:

<?xml version="1.0"?>
<configuration>

    <system.web>
        <compilation debug="true" targetFramework="4.0" />
    </system.web>

  <system.serviceModel>

    <!--Set up the service-->
    <services>
      <service behaviorConfiguration="SOAPRESTDemoBehavior" name="SOAPRESTDemo">
        <endpoint address="rest" behaviorConfiguration="SOAPRESTDemoEndpointBehavior" binding="webHttpBinding" contract="ISOAPRESTDemo" />
        <endpoint address="soap" binding="basicHttpBinding" contract="ISOAPRESTDemo" />
      </service>
    </services>


    <!--Define the behaviours-->
    <behaviors>

      <serviceBehaviors>
        <behavior name="SOAPRESTDemoBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>

      <endpointBehaviors>
        <behavior name="SOAPRESTDemoEndpointBehavior">
          <webHttp/>
        </behavior>
      </endpointBehaviors>

    </behaviors>

  </system.serviceModel>

</configuration>
43
Exitos

en voici un exemple, il contient certaines propriétés de la connexion du service.

<serviceBehaviors>
<behavior name="WcfServiceNetMSMQ.Service1Behavior">
 <serviceMetadata httpGetEnabled="true" />
 <serviceDebug includeExceptionDetailInFaults="false" />
</behavior>

Notez que la variable name de ce service correspond à celle que vous avez spécifiée précédemment.

J'espère que cela pourra aider.

4
Kenan D

Vous obtiendrez cette erreur avec le nom de comportement n'est pas configuré correctement.

Le document HTML ne contient pas d'informations de découverte de service Web . Les métadonnées contiennent une référence non résolue: ' http://blabla.com/WebService/Processor.svc ' . Type de contenu application/savon + xml; charset = utf-8 n'était pas pris en charge par le service ' http://blabla.com/WebService/Processor.svc '. Les liaisons client et service peuvent ne pas correspondre .. .. Le serveur distant a renvoyé une erreur: (415) Impossible de traiter le message car le type de contenu 'application/soap + xml; charset = utf-8 'n'était pas le type attendu' text/xml; charset = utf-8 '.. Si le service est défini dans la solution actuelle, essayez de générer la solution et d'ajouter à nouveau la référence du service. 

0
Tom