wince下使用wcf

要在wince上使用wcf,需要使用 Power Toys for .NET Compact Framework 3.5工具包。

安装后,在\Microsoft.NET\SDK\CompactFramework\v3.5\bin目录下,使用NetCFSvcUtil.exe,
生成访问WCF的代码,生成的代码有2个,其maxReceivedMessageSize默认值为65536。
如果需要传输更多的数据,需要在 public static System.ServiceModel.Channels.Binding CreateDefaultBinding()方法中,
修改返回值binding的maxReceivedMessageSize等属性的值即可。
大体代码如下:
public static System.ServiceModel.Channels.Binding CreateDefaultBinding()
    {
        System.ServiceModel.Channels.CustomBinding binding = new System.ServiceModel.Channels.CustomBinding();
        binding.Elements.Add(new System.ServiceModel.Channels.TextMessageEncodingBindingElement(System.ServiceModel.Channels.MessageVersion.Soap11, System.Text.Encoding.UTF8));
        //binding.Elements.Add(new System.ServiceModel.Channels.HttpTransportBindingElement());
        System.ServiceModel.Channels.HttpTransportBindingElement htbe = new System.ServiceModel.Channels.HttpTransportBindingElement();
        htbe.maxReceivedMessageSize = 2147483647;//此处修改为合适的值即可
        ...//同时修改其他属性。
        binding.Elements.Add(htbe);
        return binding;
    }

网上搜了好久没找到,经过不断测试,终于解决此问题。

posted @ 2012-09-08 15:18  古秋  阅读(376)  评论(0编辑  收藏  举报