IMetaDataExchange не может быть найден в списке контрактов, реализованных службой

Я поискал в Интернете решение этой ошибки, но все, что я нашел, говорит о том, что у меня правильно.

Может быть, кто-нибудь может взглянуть и обнаружить очевидную ошибку, которую я просто не вижу.

У меня есть служба Windows, в которой размещены два контракта:

  1. IConfigurationService
  2. IConfigurationAdminService

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

Проблема в том, что я могу размещать службы нормально, пока я не попробую добавить MEX.

Затем я получаю следующее исключение:

Имя контракта 'IMetaDataExchange' не может быть найдено в списке контрактов, реализуемых службой ConfigurationWCFService.

И это мой конфиг, все настроено конфигом , ничего не сделано с помощью кода.

<system.serviceModel>
    <bindings>
      <netTcpBinding>
        <binding name="tcpBinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" />
          <security mode="None" />
        </binding>
      </netTcpBinding>
    </bindings>
    <services>
      <service behaviorConfiguration="serviceBehavior" name="BrightsideGroup.Repa.Configuration.ConfigurationWCFService">
        <endpoint address="ConfigurationService" binding="netTcpBinding"
          bindingConfiguration="tcpBinding" name="tcpConfiguration" contract="BrightsideGroup.Repa.Configuration.IConfigurationWCFService" />
        <endpoint binding="mexHttpBinding" address="mex" name="mex" contract="IMetaDataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://GD01316:9123/Repa" />
            <add baseAddress="http://GD01316:8123/Repa" />
          </baseAddresses>
        </host>
      </service>
      <service behaviorConfiguration="serviceBehavior" name="BrightsideGroup.Repa.Configuration.ConfigurationWCFAdminService">
        <endpoint address="ConfigurationAdminService" binding="netTcpBinding"
          bindingConfiguration="tcpBinding" name="tcpConfigurationAdmin"
          contract="BrightsideGroup.Repa.Configuration.IConfigurationAdminWCFService" />
        <endpoint binding="mexHttpBinding" address="mex" name="mex" contract="IMetaDataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://GD01316:9124/Repa" />
            <add baseAddress="http://GD01316:8124/Repa" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="serviceBehavior">
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
11
задан abatishchev 5 April 2012 в 14:09
поделиться