Mex конечная точка не найдена в WCf - PullRequest
0 голосов
/ 15 июня 2011

Я использую пример, чтобы сделать мой первый сервис wcf .. Я использую это этот пример

дает мне ошибку конечная точка mex не найдена.

Я включил файл appconfig в хост консоли и включил следующий код

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior>
                    <serviceMetadata httpGetEnabled="True"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>
    </system.serviceModel>
</configuration>

Может кто-нибудь, пожалуйста, помогите мне, если я не могу запустить консольный хост ...

Ответы [ 2 ]

0 голосов
/ 16 июня 2011

Я использую Visual Studio 2008 и рамки 3.5

И в этом вся проблема. Пример, на который вы ссылаетесь, относится к WCF 4, который использует так называемые конечные точки по умолчанию или упрощенную конфигурацию. Ничего подобного в WCF 3.5 не существует. Вы должны вручную настроить свой сервис и все его конечные точки!

<system.serviceModel>
  <services>
    <service name="EmailService.EmailValidator" behaviorConfiguration="Metadata"> 
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:8080/" />
        </baseAddresses>
      </host>
      <endpoint address="" binding="basicHttpBinding" contract="EmailService.IEmailValidator" />
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="Metadata">
        <serviceMetadata httpGetEnabled="true" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>
0 голосов
/ 15 июня 2011

Вы действительно настроили конечную точку mex для своего сервиса?

Это будет выглядеть примерно так:

<service name="MyService" ...>
    <!-- actual service endpoints here -->
    <endpoint address="/mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...