WCF - Как подключить serviceBehaviors к конечной точке WCF (без тега <service>) - PullRequest
2 голосов
/ 02 декабря 2011

Я использую стороннюю службу WCF, и ее конфигурация приведена ниже ( часть ее ). Я хотел назначить serviceBehaviors конечной точке, но здесь нет тега <service>. В этом случае, как вы назначаете «serviceBehaviors»?

<client>
  <endpoint address="https://something/someservice.asmx" binding="customBinding" bindingConfiguration="ABCBinding" contract="Democlient.Soap" name="Soap" behaviorConfiguration="SoapEndpointB" />
</client>
<behaviors>
  <endpointBehaviors>
    <behavior name="SoapEndpointB">
      <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="SoapServiceB">
      <dataContractSerializer maxItemsInObjectGraph="2147483647" />
      <serviceMetadata httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

Вы назначаете serviceBehaviors конечным точкам сервера WCF, а не конечным точкам клиента. Вам нужно будет попросить сторонний хост службы WCF добавить нужные вам сервисные поведения, если они вам понадобятся.

1 голос
/ 02 декабря 2011

Похоже, что конфигурация, которую вы показываете, является вашей конфигурацией на стороне клиента.Это просто указывает на то, как вы собираетесь общаться с сервисом.Он ничего не говорит службе о вашем клиенте.

Помните, что служба не знает клиента, и единственное, что клиент знает об услуге, - это обмен метаданными.

Если служба не предлагает какой-либо метод для этого (не через какой-либо механизм .Net или WCF), ваш клиент не может указать, как служба должна вести себя, и не должна.Данный сервис может обрабатывать запросы от множества разных клиентов, каждый со своими желаниями.Просто нет хорошего способа справиться с такой ситуацией.

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