WCF服务Web.config配置核心是定义服务契约、绑定、行为和端点,需确保service name与类全名一致、contract指向接口全名,正确配置basicHttpBinding或wsHttpBinding、serviceMetadata和serviceDebug行为,以及address、binding、contract齐全的端点。

WCF服务的 Web.config 配置核心是定义服务契约、绑定、行为和端点,关键在于匹配服务类、接口、地址、协议和序列化方式。下面以最常用的 basicHttpBinding(兼容性好)和 wsHttpBinding(支持安全/事务)为例,给出简洁实用的配置结构。
基础服务节点:service 和 host
确保 的 name 属性与服务类的完整命名空间+类名一致;contract 指向服务契约接口全名。
- 服务类:
MyNamespace.MyService - 契约接口:
MyNamespace.IMyService -
host下可配baseAddress(IIS托管时通常忽略,由虚拟目录决定)
绑定配置:选对 binding 并设好属性
绑定决定通信协议、编码、安全模式等。开发调试常用 basicHttpBinding,生产建议用 wsHttpBinding 或 netTcpBinding(内网)。
-
basicHttpBinding:默认无安全,适合简单跨平台调用 -
wsHttpBinding:默认启用消息级安全,若要关闭,加security mode="None" - 大文件传输需调大
maxReceivedMessageSize、readerQuotas等
行为配置:serviceBehaviors 是重点
必须配置 serviceMetadata(启用元数据交换,供添加服务引用)和 serviceDebug(开发期开启异常详情)。
-
httpGetEnabled="true"→ 支持浏览器访问?wsdl -
httpsGetEnabled="true"→ 启用 HTTPS 元数据(需HTTPS绑定) -
includeExceptionDetailInFaults="true"→ 开发时看详细错误,上线务必设为false
端点配置:address、binding、contract 缺一不可
每个端点对应一种访问方式。常见组合:
- 一个
http+basicHttpBinding端点(供外部系统调用) - 一个
http+metadataExchange端点(仅用于获取 WSDL) - 地址为空(
"")表示与 .svc 文件同路径,如http://site/MyService.svc
示例(精简可用版,适用于 IIS 托管的 basicHttpBinding):
基本上就这些。实际部署前记得检查:服务类是否标记 [ServiceBehavior]、接口是否标 [ServiceContract]、方法是否标 [OperationContract],再核对命名空间和大小写——WCF 对名称极其敏感。










