Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法让MEX使用我的WCF服务_Wcf_Mex - Fatal编程技术网

无法让MEX使用我的WCF服务

无法让MEX使用我的WCF服务,wcf,mex,Wcf,Mex,我认为这可能是因为没有/不需要在配置中指定任何基址。其他一切工作正常,包括发布WSDL、调用服务等。但当我添加一个MEX端点并尝试访问它时,它返回503服务不可用 我的web.config如下所示: <system.serviceModel> <bindings> <basicHttpsBinding> <binding name="ServiceBinding" /> </basicHttpsBinding&

我认为这可能是因为没有/不需要在配置中指定任何基址。其他一切工作正常,包括发布WSDL、调用服务等。但当我添加一个MEX端点并尝试访问它时,它返回503服务不可用

我的web.config如下所示:

<system.serviceModel>
  <bindings>
    <basicHttpsBinding>
      <binding name="ServiceBinding" />
    </basicHttpsBinding>
  </bindings>
  <services>
    <service name="MyServices.CatService" behaviorConfiguration="MyBehavior">
      <endpoint address="" binding="basicHttpsBinding" bindingConfiguration="ServiceBinding" contract="MyServices.ICatService"></endpoint>
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="MyBehavior">
        <!-- To avoid disclosing metadata information, set the values below to false before deployment -->
        <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
        <!-- 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="false" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>

当我浏览到我的服务时,我会收到以下信息:

您已经创建了一个服务。 要测试此服务,您需要创建一个客户机并使用它调用该服务。您可以使用中的svcutil.exe工具执行此操作 命令行使用以下语法: svcutil.exe http://[mypc]/MyServices/CatService.svc/mex


我有理由相信这与端点的定义方式有关,但我不知道如何修复它。有什么想法吗?

解决了-上面我复制并粘贴的mex示例是http,而不是https。我把它改成了MexHttpBinding,效果很好。我认为http不起作用是由于一些在本地运行http的配置,但我不确定