Silverlight 调用WCF常见错误
【转】Silverlight 调用WCF常见错误
错误描述:The remote server returned an error: NotFound
可能原因:WCF服务本身对数据包进行了限制,最大不能超过65535,Silverlight发送大数据包到服务器端(例如图片直接存于数据库), WCF返回以上错误。
解决方法:
(1)修改Silverlight端ServiceReferences.ClientConfig文件,增加Buffer 尺寸。
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding
name="BasicHttpBinding_IMMID_DocService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint
address="http://localhost:5244/UnimapService/MMID_DocService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IMMID_DocService"
contract="UnimapSvr_MMID_DocService.IMMID_DocService"
name="BasicHttpBinding_IMMID_DocService" />
</client>
</system.serviceModel>
(2)修改服务器端,在Web.config中添加自定义BasicHttpBinding对象,
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false -->
<serviceMetadata httpGetEnabled="true" />
<!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
<serviceDebug includeExceptionDetailInFaults="false" />
<dataContractSerializer
maxItemsInObjectGraph="2147483647"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding
name="LargeDataTransferServicesBinding" maxReceivedMessageSize="2147483647" >
<readerQuotas maxDepth="64" maxStringContentLength="2147483647"
maxArrayLength="2147483647" />
</binding>
</basicHttpBinding>
</bindings>
<services>
<!--注1:此处的name值不能随便修改,命名格式为:完全命名空间+类名
-->
<!--注2:此处的behaviorConfiguration值要与behavior的name值对应-->
<service name="SilverlightTest.Web.UnimapService.MMID_DocService"
behaviorConfiguration="" >
<!--注1:此处的contract值不能随便修改,命名格式为:完全命名空间+接口名 -->
<!--注2:此处的bindingConfiguration值要与binding中的name值对应-->
<endpoint contract="SilverlightTest.Web.UnimapService.IMMID_DocService"
binding="basicHttpBinding"
bindingConfiguration="LargeDataTransferServicesBinding" address="" >
</endpoint>
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"
/>
</system.serviceModel>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。