Silverlight在调用wcf时传输数据过大的解决办法

        默认情况下,silverlight在调用wcf时,如果传递的数据中XML的Element的内容长度大于8192字节,即8k,会提示Not Found错误。

  调用含有byte[]的方法时,内容长度大于16k时,也会出现Not Found错误。

  解决方法如下:

  1、wcf服务端修改web.config 如下:

< system.serviceModel>
< behaviors>
< serviceBehaviors>
<!--注:name=随意命名,但要与service的behaviorConfiguration值对应-->
< behavior name= "AAAAA">
< serviceMetadata httpGetEnabled= "true" />
< serviceDebug includeExceptionDetailInFaults= "false" />
< dataContractSerializer maxItemsInObjectGraph= "2147483647" />
< /behavior>
< /serviceBehaviors>
< /behaviors>
< services>
<!--注1:此处的name值不能随便修改,命名格式为:完全命名空间+类名 -->
<!--注2:此处的behaviorConfiguration值要与behavior的name值对应-->
< service name= "SLFileUpload.Web.FileService" behaviorConfiguration= "AAAAA" >
<!--注1:此处的contract值不能随便修改,命名格式为:完全命名空间+接口名 -->
<!--注2:此处的bindingConfiguration值要与binding中的name值对应-->
< endpoint contract= "SLFileUpload.Web.IFileService" binding= "basicHttpBinding" bindingConfiguration= "BBBBB" address= "" >
< /endpoint>
< endpoint address= "mex" binding= "mexHttpBinding" contract= "IMetadataExchange" />
< /service>
< /services>
< bindings>
< basicHttpBinding>
<!--name=随意命名,但要与service的bindingConfiguration值对应 -->
< binding name= "BBBBB" maxBufferSize= "2147483647" maxReceivedMessageSize= "2147483647">
< readerQuotas maxStringContentLength= "2147483647" maxArrayLength= "2147483647" />
< security mode= "None">< /security>
< /binding>
< /basicHttpBinding>
< /bindings>
< serviceHostingEnvironment multipleSiteBindingsEnabled= "true" />
< /system.serviceModel>
2,Silverlight端
< bindings>
< basicHttpBinding>
< binding name= "BasicHttpBinding_IFileService" maxBufferSize= "2147483647"
maxReceivedMessageSize=
"2147483647">
< security mode= "None" />
< /binding>
< /basicHttpBinding>
< /bindings>
 
name和contract的命名格式为一定要注意 :完全命名空间+类名。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值