Silverlight在调用wcf时传输数据过大的解决办法
2014-09-19 14:13
330 查看
默认情况下,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的命名格式为一定要注意:完全命名空间+类名。
调用含有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的命名格式为一定要注意:完全命名空间+类名。
相关文章推荐
- Silverlight在调用wcf时传输数据过大返回Not Found的解决办法
- Silverlight在调用wcf时传输数据过大返回Not Found的解决办法
- Silverlight在调用wcf时传输数据过大返回Not Found的解决办法
- WCF传输过大的数据导致失败的解决办法
- WCF传输过大的数据导致失败的解决办法
- silverlight动态调用WCF服务解决办法
- 稳扎稳打Silverlight(22) - 2.0通信之调用WCF服务, 对传输信息做加密
- 解决 Silverlight 调用 WCF 服务 跨域访问 和 Silverlight 引用服务后配置文件不加载的问题
- Silverlight中对WCF RIA 的异步调用的同步处理解决办法
- WCF调用--添加服务引用时找不到服务的解决办法
- 稳扎稳打Silverlight(22) - 2.0通信之调用WCF服务, 对传输信息做加密
- 解决在Silverlight中调用WCF控制台程序宿主时跨域问题
- C# 数据为空,不能对空值调用此方法或属性的解决办法
- SilverLight C#中char(1)数据类型页面显示解决办法(讨论)
- 解决 Silverlight 调用 WCF 服务 跨域访问 和 Silverlight 引用服务后配置文件不加载的问题
- [导入]Silverlight 2 (beta1)数据操作(4)——调用WCF进行数据CRUD操作
- ASP“80020009” 错误的解决办法 上传数据过大
- Silverlight 2 (beta1)数据操作(4)——调用WCF进行数据CRUD操作
- Silverlight 2 (beta1)数据操作(4)——调用WCF进行数据CRUD操作
- WCF调用--添加服务引用时找不到服务的解决办法