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

WCF部署遇EndpointNotFoundException未处理问题求助(附代码片段)

解决WCF服务EndpointNotFoundException异常的实用方案

兄弟,我之前部署WCF服务连接SQL Server和C#应用时也踩过这个坑,EndpointNotFoundException大多是端点配置或服务连通性出了问题,咱们一步步来排查:

1. 核对客户端与服务端的端点配置

首先必须确保两端的**地址(address)、绑定(binding)、契约(contract)**完全匹配:

  • 服务端app.config里的端点示例:
<endpoint address="" binding="basicHttpBinding" contract="WCFCrud.IService1">
  • 客户端配置里的端点地址要精准,比如本地运行的服务地址可能是http://localhost:xxxx/Service1.svc,别写错端口或路径,哪怕少个斜杠都可能出问题。

2. 确认WCF服务是否正常启动

  • 直接在浏览器里访问服务的.svc文件地址,如果能看到WCF的服务描述页面,说明服务正常;如果打不开,先排查服务启动问题:
    • 若是IIS托管,检查应用池是否启动,站点配置是否正确;
    • 若是自托管,确保代码里正确初始化并启动了服务宿主,比如:
using (ServiceHost host = new ServiceHost(typeof(Service1)))
{
    host.Open();
    Console.WriteLine("服务已启动,按任意键停止...");
    Console.ReadKey();
    host.Close();
}

3. 排查防火墙与端口占用

  • 服务端口可能被防火墙拦截,试试临时关闭防火墙测试,或者在防火墙上添加对应端口的入站规则;
  • 用命令行执行netstat -ano,检查服务使用的端口是否被其他程序占用,要是被占了,赶紧改服务的端口号。

4. 验证契约定义的一致性

你提供的IService1接口里有Insert方法,要确保:

  • 服务端的实现类(比如Service1)和接口定义完全匹配;
  • 客户端如果是通过添加服务引用生成的,记得更新服务引用,避免因契约版本不一致导致无法识别端点。

5. 排查SQL Server连接对服务启动的影响

虽然异常是EndpointNotFound,但有时候服务启动失败是因为SQL Server连接出问题,导致服务无法初始化。可以在服务的构造函数或启动代码里加日志,看看是不是连接字符串错误、SQL Server不允许远程连接,或者账号权限不够。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:22:36