在WCf中找不到Mex端点

问题描述

| 我正在使用一个示例来做我的第一个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>
任何人都可以帮助我,因为我无法运行控制台主机...     

解决方法

        您是否实际上为服务配置了mex端点? 看起来像这样:
<service name=\"MyService\" ...>
    <!-- actual service endpoints here -->
    <endpoint address=\"/mex\" binding=\"mexHttpBinding\" contract=\"IMetadataExchange\" />
</service>
    ,           我正在使用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>
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...