Привязка в system.serviceModel/bindings/wsHttpBinding не имеет настроенной привязки

Я пытаюсь создать вторую конечную точку в своем веб-сервисе WCF. Я могу открыть "Счастливую страницу" новой конечной точки, поместив URL-адрес домена в моем браузере, чтобы я знал, что IIS может правильно найти службу, используя мою учетную запись пользователя.

Однако, если я пытаюсь запустить веб-страницу, которая вызывает службу, я получаю сообщение об ошибке ниже

The binding at system.serviceModel/bindings/wsHttpBinding does not have a configured 
binding named 'WSHttpBinding_IMonetToDss'. This is an invalid value for 
bindingConfiguration. (D:\webcontent\Monet\web.config line 178).

Поскольку этот раздел файла конфигурации автоматически создается Visual Studio, когда я создаю ссылку на службу, bindingConfiguration значение WSHttpBinding_IMonetToDss.. что это говорит, что не должно быть.

Ниже приведены обе точки, извлеченные из web.config. Первая конечная точка /OKeeffe/OKeeffe.svc работает правильно. Вторая конечная точка для /OKeeffe/MonetToDss.svc имеет проблему.

<client>
  <endpoint address="http://insidesoap.dev.symetra.com/Escher/EscherService.svc"
    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IEscherService"
    contract="Escher.IEscherService" name="WSHttpBinding_IEscherService" />
  <endpoint address="http://insideapps.dev.symetra.com/OKeeffe/OKeeffe.svc"
    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAgentPayments"
    contract="AgentPayments.IAgentPayments" name="WSHttpBinding_IAgentPayments">
    <identity>
      <userPrincipalName value="s.AgentData.dev" />
    </identity>
  </endpoint>
  <endpoint address="http://insideapps.dev.symetra.com/OKeeffe/MonetToDss.svc"
    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IMonetToDss"
    contract="MonetToDss.IMonetToDss" name="WSHttpBinding_IMonetToDss">
    <identity>
      <userPrincipalName value="s.AgentData.dev" />
    </identity>
  </endpoint>
</client>

РЕДАКТИРОВАТЬ

Вот system.serviceModel раздел файла конфигурации веб-службы

  <system.serviceModel>
    <services>
        <service name="OKeeffeDataService.MonetToDss"
            behaviorConfiguration="MonetToDssBehaviors" >
        <endpoint address=""
            binding="wsHttpBinding"
            contract="OKeeffeDataService.IMonetToDss" />
        </service>
        <service name="OKeeffeDataService.AgentPayments"
               behaviorConfiguration="OKeeffeBehavior" >
        <endpoint address=""
                  binding="wsHttpBinding"
                  contract="OKeeffeDataService.IAgentPayments" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="OKeeffeBehavior">
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
        <behavior name="MonetToDssBehaviors" >
            <serviceMetadata httpGetEnabled="true" />
            <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>

1 ответ

Решение

Вы уверены, что вы определили привязку с именем "WSHttpBinding_IMonetToDss" в вашем файле конфигурации? что-то вроде этого...

<bindings>
<wsHttpBinding name="WSHttpBinding_IMonetToDss">
...
</wsHttpBinding>    
<bindings>
Другие вопросы по тегам