Azure部署WCF服务遇413请求实体过大错误排查(.NET Framework 4.8)
问题原因及解决办法
核心问题
你的WCF服务在Azure上返回413错误,核心原因是配置的绑定类型与实际使用的绑定不匹配:
- 从
protocolMapping节点可以看到,HTTPS请求使用的是basicHttpsBinding - 但你的
bindings节点下仅配置了basicHttpBinding和wsHttpBinding的大消息支持,未配置basicHttpsBinding的相关参数,导致Azure上使用的是basicHttpsBinding的默认限制(默认maxReceivedMessageSize仅65536字节),无法处理大请求。
修复步骤
在bindings节点中添加basicHttpsBinding的配置,设置足够大的消息限制:
<system.serviceModel> <bindings> <!-- 保留原有的basicHttpBinding、wsHttpBinding配置 --> <basicHttpsBinding> <binding maxReceivedMessageSize="2147483647"> <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" /> </binding> </basicHttpsBinding> <!-- 其他绑定配置 --> </bindings> <!-- 其他节点保持不变 --> </system.serviceModel>
额外验证点
- 确保服务终结点确实使用了
basicHttpsBinding,若有自定义终结点配置,需明确指定绑定名称或确保默认绑定生效 - 可在Azure门户的应用服务配置中,检查「常规设置」里的「最大请求大小」,确保与配置值一致
内容的提问来源于stack exchange,提问作者Ram
相关产品推荐
相关产品推荐

