C# 使用Microsoft Sync Framework将数据批处理到客户端时System.OutOfMemoryException

C# 使用Microsoft Sync Framework将数据批处理到客户端时System.OutOfMemoryException,c#,sqlite,windows-phone-8,sync,microsoft-sync-framework,C#,Sqlite,Windows Phone 8,Sync,Microsoft Sync Framework,我目前正在使用Microsoft Sync Framework将数据从mssql数据库同步到承载在Windows Phone 8上的sqlite数据库。我正在使用SyncToolkit 我使用SetDownloadBatchSize限制通过线路发送的数据,以防止System.OutOfMemoryException,但我仍然收到它,就像框架没有处理旧的批处理集一样 当我有4000行数据时,它成功地工作(同步),当我将此数据增加到30000行时,它触发此异常 在我打开这个框架并尝试破解它之前,任何

我目前正在使用Microsoft Sync Framework将数据从mssql数据库同步到承载在Windows Phone 8上的sqlite数据库。我正在使用SyncToolkit

我使用SetDownloadBatchSize限制通过线路发送的数据,以防止System.OutOfMemoryException,但我仍然收到它,就像框架没有处理旧的批处理集一样

当我有4000行数据时,它成功地工作(同步),当我将此数据增加到30000行时,它触发此异常

在我打开这个框架并尝试破解它之前,任何帮助都会有所帮助

干杯,
Alex

如何实现同步服务?如果实现为wcf服务,请同时配置wcf服务和客户端配置文件的消息大小

确认装订。例如,wcf服务web配置文件

<binding name="largeMessageHttpBinding" allowCookies="true" maxReceivedMessageSize="20000000" maxBufferPoolSize="20000000" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" messageEncoding="Text">
          <readerQuotas maxArrayLength="2147483647" maxDepth="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647"/>
          <security mode="TransportWithMessageCredential">
            <transport clientCredentialType="Basic"/>
            <message clientCredentialType="UserName"/>
          </security>
        </binding>

框架中有一个错误,我手动更正,因为它是开源的


现在一切同步正常。

内存不足是因为同步代码本身吗?或者您真的在反序列化同步数据、加载Sqlite并运行应用程序时内存不足?请在wcf服务的web配置文件和客户端配置文件上配置消息大小。我在答案中添加了wcf服务web配置文件的示例代码