我在实现例如时遇到了一些麻烦。一个导入程序,用于解析 silverlight 客户端上的文件并使用 basicHttpBinding 将大量对象发送到 WCF 服务。
我已将 maxBufferSize、maxRecieveSize 等设置为最大值,但除非我自己在代码中对对象集合进行分块并进行多次调用,否则它只会失败。
所以我想知道你们中是否有人有一些使用大量对象进行调用的好方法的经验?
最佳答案
同样的事情也发生在我的团队身上......只不过我们不是在 SL 中工作,而是在 WPF 中工作。
我知道这不是最迷人的方式,但我和我的团队在获取文本文件、转换为字节数组然后通过网络发送字节数组方面也取得了很大的成功。事实证明,WCF 对于字节数组非常高效。
要读入文件,我们在客户端执行以下操作:
fileByteArray = File.ReadAllBytes(fileLocation);
然后我们的服务界面是这样的:
[ServiceContract]<br/>
public class IImport<br/>
{<br/>
[OperationContract]<br/>
BulkResults ImportFromFile(byte[] importFile);<br/>
}
我们也尝试了缓冲/流式传输方法,并且我们已将所有服务切换到流式传输。这也有助于减少内存消耗。
关于wcf - 通过 WCF 处理大量导入的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4661480/