Каков атрибут "behaviorConfiguration" службы?
Каков атрибут службы "behconfiguration" службы?
<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>
Ответы
Ответ 1
Это ссылка на другой раздел конфигурации:
<behaviors>
<serviceBehaviors>
<behavior name="WcfServiceNetMSMQ.Service1Behavior">
</behaviors>
</serviceBehaviors>
</behaviors>
Если этот раздел содержит некоторую глобальную конфигурацию для всей службы.
Ответ 2
При настройке службы WCF существует 3 важных раздела.
1) Определение служб:
<services>
<service behaviorConfiguration="SOAPRESTDemoBehavior" name="SOAPRESTDemo">
<endpoint address="rest" behaviorConfiguration="SOAPRESTDemoEndpointBehavior" binding="webHttpBinding" contract="ISOAPRESTDemo" />
<endpoint address="soap" binding="basicHttpBinding" contract="ISOAPRESTDemo" />
</service>
</services>
ПРИМЕЧАНИЕ. Значение поведенияConfiguration - это ссылка на раздел, следующий далее в config, см. ниже...
2) Определение "поведения службы"
<serviceBehaviors>
<behavior name="SOAPRESTDemoBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
3) Определение "поведения конечных точек"
<endpointBehaviors>
<behavior name="SOAPRESTDemoEndpointBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
Все 3 раздела - это основа того, что вам нужно для настройки службы (хотя это можно сделать программно).
В отношении вашего вопроса раздел "Конфигурация поведения" относится к пунктам 2 и 3 в моих пунктах выше. Там, где вы размещаете действия, которые вы хотите, чтобы ваши службы имели. например, выше, я сказал, что хочу разрешить публикацию MetaData. Это будет по существу создавать WSDL, который описывает сервис.
Полная конфигурация здесь:
<?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>
Ответ 3
вот пример этого, он несет некоторые свойства соединения службы.
<serviceBehaviors>
<behavior name="WcfServiceNetMSMQ.Service1Behavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
Обратите внимание, что name
в этом поведении службы соответствует тому, который вы указали ранее.
Надеюсь, что это поможет.
Ответ 4
Вы получите эту ошибку с именем Поведение неправильно настроено.
HTML-документ не содержит информации об обнаружении веб-сервисов.
Метаданные содержат ссылку, которая не может быть решена: 'http://blabla.com/WebService/Processor.svc'.
Content Type application/soap + xml; charset = utf-8 не поддерживается службой http://blabla.com/WebService/Processor.svc '. Связи клиента и службы могут быть несовместимы.
Удаленный сервер возвратил ошибку: (415) Не удается обработать сообщение, потому что тип контента "application/soap + xml; charset = utf-8 'не был ожидаемым типом text/xml; кодировка = UTF-8'..
Если служба определена в текущем решении, попробуйте создать решение и снова добавить ссылку на службу.