WCF服务web.config核心是定义服务契约、绑定、行为和端点;需确保service name与类名一致、contract为接口全名、binding匹配协议、behavior启用元数据和调试。

WCF服务的 web.config 文件核心是定义服务契约、绑定方式、行为配置和端点(Endpoint),关键在于匹配服务类、接口、地址、协议和序列化规则。下面以最常用的 HTTP + BasicHttpBinding 场景为例,给出清晰、可直接参考的配置结构。
基础服务节点:service 和 host
在 下的 节点中,需明确指定:
-
service name:必须与 WCF 服务类(.svc.cs 中的类)的完整命名空间+类名完全一致,例如
MyNamespace.MyService -
behaviorConfiguration:关联一个
中定义的行为名称,用于启用元数据、异常调试等 - host baseAddress(可选):若使用 IIS 托管,通常不写 baseAddress,实际地址由 IIS 站点路径决定;自托管时才需设置
端点配置:address、binding、contract 缺一不可
每个 必须包含三项:
-
address:相对路径(如
""表示与 .svc 同地址,"mex"专用于元数据交换) -
binding:常用值有
basicHttpBinding(兼容 ASMX)、wsHttpBinding(支持安全/事务)、netTcpBinding(内网高性能) -
contract:必须是服务接口(即 [ServiceContract] 标记的接口)的完整名称,如
MyNamespace.IMyService
示例端点(主业务 + 元数据):
支持静态模板,支持动态模板标签,支持图片.SWF.FLV系列广告标签.支持百万级海量数据,绑定内置URL伪装策略(URL后缀名随你怎么写),绑定内置系统升级策略(暂不开放升级),绑定内置模板付费升级策略(暂不开放更新)。支持标签容错处理,绑定内置攻击防御策略,绑定内置服务器优化策略(系统内存释放的干干净净)。支持离线运行,支持次目录,兼容U主机。支持会员功能,支持文章版块权限阅读,支持会员自主注册
绑定配置:按需调整 timeout、maxReceivedMessageSize 等
在 节点下定义具体绑定参数。常见调整项:
-
sendTimeout和receiveTimeout:默认 1 分钟,大文件或长耗时操作需加大(如"00:10:00") -
maxReceivedMessageSize:默认 65536 字节,上传文件时务必调高(如"2147483647") -
readerQuotas:控制 XML 解析深度/长度,避免“超出配额”异常
示例 basicHttpBinding 配置:
maxReceivedMessageSize="2147483647">
服务行为:启用元数据和调试支持
在 中定义 behavior,关键子项:
-
:开启 HTTP GET 元数据,IIS 中访问http://.../MyService.svc?wsdl即可获取 WSDL -
:开发阶段开启,让客户端看到详细异常堆栈(上线前务必设为false) - 若用
wsHttpBinding且需 Windows 认证,还需添加配置









