IIS 7.5托管WCF服务仅针对大型请求抛出EndpointNotFoundException和404
我有一个WCF REST服务托管在IIS 7.5 Windows 2008 R2上。除客户端试图发送大于~25 MB的消息外,该服务正常工作。具体来说,当发送大小约为25 MB的消息时,服务会正确接收并处理该消息,而当发送大小约为31 MB的消息时,服务会失败 当在VS 2010上本地托管时,收到的消息没有错误。当远程托管在IIS 7.5上时,服务立即响应:“System.ServiceModel.EndpointNotFoundException:没有端点侦听…”,内部异常是:“远程服务器返回错误:(404)找不到” 这与最大消息大小设置不足时引发的异常不同。考虑到在本地托管时,我没有收到错误,我猜测这与IIS或某些防火墙设置有关 这是配置文件:IIS 7.5托管WCF服务仅针对大型请求抛出EndpointNotFoundException和404,wcf,iis-7.5,Wcf,Iis 7.5,我有一个WCF REST服务托管在IIS 7.5 Windows 2008 R2上。除客户端试图发送大于~25 MB的消息外,该服务正常工作。具体来说,当发送大小约为25 MB的消息时,服务会正确接收并处理该消息,而当发送大小约为31 MB的消息时,服务会失败 当在VS 2010上本地托管时,收到的消息没有错误。当远程托管在IIS 7.5上时,服务立即响应:“System.ServiceModel.EndpointNotFoundException:没有端点侦听…”,内部异常是:“远程服务器返回
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestPathInvalidCharacters="" maxRequestLength="512000"/>
</system.web>
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true"/>
<bindings>
<webHttpBinding>
<binding maxReceivedMessageSize="524288000" maxBufferSize="524288000">
<readerQuotas maxStringContentLength="524288000" maxArrayLength="524288000"/>
</binding>
</webHttpBinding>
</bindings>
</system.serviceModel>
< /代码> 您可以尝试将您的最大值设置为int max with为2147483648,除此之外,您可能需要考虑拆分上传或流。 这是IIS的最大上传大小,它会咬您。它的默认值是30MB。您可以在web.config
中修复它:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000"/>
</requestFiltering>
</security>
</system.webServer>
您还可以在IIS管理器中的请求筛选/功能设置中的某个位置对其进行更改。要修复的值是“允许的最大内容长度(字节)”