Ссылка на сервис WCF генерирует пустой файл reference.cs из-за DuplexBinding

У меня есть сервис WCF. Вот конфигурация

  <basicHttpBinding>
    <binding name="EmergencyRegistratorBinding">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Windows" />
      </security>
    </binding>
  </basicHttpBinding>

И настройка сервиса

  <service behaviorConfiguration="Default" name="Breeze.AppServer.Emergencies.EmergencyRegistrator">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="EmergencyRegistratorBinding"
        contract="Services.IEmergencyRegistrator" />
  </service>

Все работало нормально Но мне нужно было изменить basicHttpBingind на DuplexBinding. Я добавил расширение:

<extensions>
  <bindingElementExtensions>
    <add name="pollingDuplex" type="System.ServiceModel.Configuration.PollingDuplexElement, System.ServiceModel.PollingDuplex"/>
  </bindingElementExtensions>
</extensions>

И изменил вышеупомянутые строки на:

  <customBinding>
    <binding name="DuplexmergencyRegistratorBinding">
      <binaryMessageEncoding/>
      <pollingDuplex maxPendingSessions="2147483647" maxPendingMessagesPerSession="2147483647" inactivityTimeout="02:00:00" serverPollTimeout="00:05:00"/>
      <httpTransport authenticationScheme="Negotiate"/>
    </binding>
  </customBinding>

а также

  <service behaviorConfiguration="Default" name="Breeze.AppServer.Emergencies.EmergencyRegistrator">
    <endpoint address="" binding="customBinding" bindingConfiguration="DuplexmergencyRegistratorBinding" contract="Breeze.Core.Services.IEmergencyRegistrator" />
    <endpoint address="mex" binding="customBinding" bindingConfiguration="DuplexmergencyRegistratorBinding" contract="IMetadataExchange"/>
  </service>

Я добавил сервисную ссылку в проект WCF. Ссылка была успешно добавлена, но Reference.cs был почти пуст.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.225
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

Когда я снимаю флажокПовторное использование типов в ссылочных сборках"Код сгенерирован, но там больше 10 тысяч строк вместо ~ 500

Я запускаю svcutil и получаю следующее:

svcutil.exeHTTP: //localhost/Breeze.Workstation/Emergencies/EmergencyRegistrator.svc WSDL

Попытка загрузить метаданные из http: //localhost/Breeze.Workstation/Emergencies/EmergencyRegistrator.svc? Wsdl 'с использованием WS-Metadata Exchange или DISCO. Предупреждение. Следующие утверждения политики не были импортированы: XPath: // wsdl: определения [@ targetNamespace = 'http: //tempuri.org/'] / wsdl: binding [@ name = 'CustomBinding_IEmergencyRegistrator'] Утверждения: ..

Создание файлов ... C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ EmergencyRegistrator.cs C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ output.config

Я довольно новичок в услугах WCF. Я надеюсь, что кто-нибудь сможет мне помочь. Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос