WCF参数大小无法设置问题,求教!

jyhjyh1984 2012-08-08 08:20:25
如题,现在返回的结果集如果超过16K,大概500多条数据的时候就报错,显示NOTFOUND ,
网上找了很多方法,貌似下面这个方法是对的 :

<bindings>
<basicHttpBinding>
<binding name="NewBinding0" maxReceivedMessageSize="2147483647" transferMode="Buffered">
<readerQuotas maxArrayLength="1024576"/><!--1024576 为 1024KB-->
<security mode="None"/>
</binding>
</basicHttpBinding>
<customBinding>
<binding name="customBinding0">
<binaryMessageEncoding>
<readerQuotas maxArrayLength="1073152"/><!--1024576 为 1024KB-->
</binaryMessageEncoding>
<httpTransport maxReceivedMessageSize="2147483647"/>
</binding>
</customBinding>
</bindings>


但是我在我的项目里,添加却找不到 readerQuotas 这个属性,
而且,选择binding 按F12 ,看到文件是 silverlightconfig2.xsd ,
我的项目明明是SL4的,怎么XSD是silverlightconfig2的?
求高手赐教,怎么把 readerQuotas 这个属性给弄出来
...全文
473 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyhjyh1984 2013-06-07
  • 打赏
  • 举报
回复
感觉各位朋友的解答, 当时群里一个一个朋友远程看了一下我的代码, 他说我搭的这个框架很像 SILVERLIGHT4 + WCF, 但其实整个架构就是 SILVERLIGHT4 + WEBSERVICE , 所以楼上大家所说的配置 readerQuotas 的方法是行不通的, 我今年年初离开了原来的公司,这个问题留给接班得人解决了, 但我还是很想知道这个问题该怎么去解决。
sunny007sun 2012-12-11
  • 打赏
  • 举报
回复
服务端配置 <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_Service" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"> <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/> </binding> </basicHttpBinding> </bindings> 客户端 public static ServiceClient GetServiceClient() { EndpointAddress address = new EndpointAddress(new Uri(Application.Current.Host.Source, WcfAddress + "Service.svc")); return new ServiceClient("<span style="color: rgb(153, 51, 0);">BasicHttpBinding_Service</span>", address); } 服务端和客户端要一致。
sunny007sun 2012-12-11
  • 打赏
  • 举报
回复
服务端配置


<bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_Service" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
          
        </binding>
      </basicHttpBinding>
    </bindings>
客户端
  public static ServiceClient GetServiceClient()
        {    //CannelFamily
            EndpointAddress address = new EndpointAddress(new Uri(Application.Current.Host.Source, WcfAddress + "Service.svc"));
            return new ServiceClient("BasicHttpBinding_Service", address);

           
        }
服务端和客户端使用的契约要一致。
  • 打赏
  • 举报
回复
劝你一句,贪图一时简单,少花3、4天时间去学习json.net,结果你花了大价钱去折腾什么wcf了。
  • 打赏
  • 举报
回复
我们不使用什么WCF。我们的SL客户端使用http与tcp与服务器通讯。例如经常就是类似
var web= new WebClient();
web.OpenReadCompleted += .....
web.OpenReadAsync(new Uri(url))
这样简单的代码就能使用json跟服务器交互传递.net业务对象了,何必整什么劳什子的WCF?我们最大时通讯(查询并下载)一个15M的对象(一个地下管网简单shape图层数据),也没有出现过通讯失败的情况。
海涵德 2012-11-30
  • 打赏
  • 举报
回复
还是写一段wcf代码,通过分段取数据,sl段收集数据,然后再bind,上面的设置没有什么用,当服务器负载过重时,就会出现你所述的问题。
深海之蓝 2012-11-29
  • 打赏
  • 举报
回复
你这个不能添加到 wcf 的 配置文件中,要添加到 silverlight 的配置文件里边
在路上20130607 2012-11-26
  • 打赏
  • 举报
回复
网上找的 没用过wcf 一,设置ASP.NET <system.web> --这里的单位是K <httpRuntime maxRequestLength="102400"/> </system.web> 二,设置WCF <bindings> <wsHttpBinding> --这里的单位是B <binding name ="wsHttpBinding" maxReceivedMessageSize="2147483647" sendTimeout="00:10:00"></binding> </wsHttpBinding> </bindings> <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding" contract="FE.WcfService.Services.IStorage"></endpoint>
  • 打赏
  • 举报
回复
C#项目,silverlight4+wcf,以上各位所说的配置与代码,还是无法解决16k数据限制的问题,已经困扰了2天了
jv9 2012-08-08
  • 打赏
  • 举报
回复
设置MaxBufferSize和MaxReceivedMessageSize 就可以解决你的问题。
例如:


Dim httpTransportBinding As HttpTransportBindingElement = New HttpTransportBindingElement()
httpTransportBinding.MaxBufferSize = 2147483647
httpTransportBinding.MaxReceivedMessageSize = 2147483647
....
山清水秀_2016 2012-08-08
  • 打赏
  • 举报
回复
在silverlight客户端初始化WCF服务对象的时候也要设置绑定的属性,一般设置MaxReceiveMessageSize和MaxBufferSize

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧