You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2017调试时WCF服务突然无法启动,元数据获取失败

解决WCF测试客户端无法获取元数据的问题

看起来你遇到的问题是即使恢复到之前的工作状态,WCF服务的元数据还是无法被测试客户端访问,核心错误是127.0.0.1:8733连接被拒绝,这通常意味着服务没正常启动,或者配置存在隐性问题。我给你一步步排查的方案:

一、先确认服务是否真的在运行

  1. 启动你的WCF服务项目后,查看VS的输出窗口(如果没显示,按Ctrl+W,O调出),找有没有服务启动成功的日志,或者绑定失败、端口占用的错误提示。很多时候服务启动失败不会弹明显的窗口,但输出里会有细节。
  2. 检查8733端口是否被占用:打开命令提示符,执行netstat -ano | findstr :8733,如果返回结果,说明这个端口被其他进程用了。你可以结束对应PID的进程(任务管理器里找PID对应的程序),或者修改配置里的端口号。

二、修正配置文件的关键问题

看你的配置,有两个明显的潜在问题:

1. 调整基地址(baseAddress)格式

你的baseAddress结尾带了/mex,这会导致服务的默认端点地址和元数据地址冲突。把它改成不带/mex的格式:

<baseAddresses>
  <add baseAddress="http://localhost:8733/Design_Time_Addresses/CarsGlobalService/Verksted/"/>
</baseAddresses>

2. 添加元数据交换(mex)端点

虽然你开启了serviceMetadata httpGetEnabled="True",但服务并没有显式暴露mex端点,这会影响WCF测试客户端的元数据获取。在现有endpoint下面添加这个端点:

<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

添加后,你的service节点应该是这样的:

<service name="CarsGlobalService.Verksted">
  <host>
    <baseAddresses>
      <add baseAddress="http://localhost:8733/Design_Time_Addresses/CarsGlobalService/Verksted/"/>
    </baseAddresses>
  </host>
  <endpoint address="" binding="basicHttpBinding" contract="CarsGlobalService.IService1">
    <identity>
      <dns value="localhost"/>
    </identity>
  </endpoint>
  <!-- 新增的mex端点 -->
  <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>

3. 验证服务和契约的命名空间匹配

确保service name是类的完全限定名(命名空间+类名),endpoint contract是接口的完全限定名。你的配置里写的CarsGlobalService.Verksted和CarsGlobalService.IService1,要确认你的代码里Verksted类和IService1接口确实在CarsGlobalService命名空间下,没有拼写错误。

三、清理缓存和重新编译

  1. 清理WCF测试客户端的缓存:打开测试客户端,点击顶部菜单的文件->清除元数据缓存,然后重新尝试添加服务。
  2. 清理项目的bin和obj文件夹,重新编译整个解决方案,再启动服务。

四、检查防火墙设置

本地Windows防火墙可能阻止了8733端口的连接,你可以暂时关闭防火墙测试一下,如果能正常连接,就给8733端口添加一条允许入站的防火墙规则。

最后验证

做完上面的步骤后,先在浏览器里访问http://localhost:8733/Design_Time_Addresses/CarsGlobalService/Verksted/?wsdl,如果能看到WSDL的XML内容,说明服务和元数据都正常了,再用WCF测试客户端添加这个地址就应该没问题了。

内容的提问来源于stack exchange,提问作者Dag

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:49:16