gpt4 book ai didi

silverlight - 如何使用 WCF 传输大量数据?

转载 作者:行者123 更新时间:2023-12-04 03:14:35 24 4
gpt4 key购买 nike

我们目前正在尝试使用带有 PollingDuplex 的 WCF 将大量数据移动到 Silverlight 3 客户端。我已经阅读了 Silverlight 4 中的 MultiplerMessagesPerPoll ,它似乎要快得多。是否有任何示例供我引用(使用 MultipleMessagesPerPoll)?或者也许有一些关于使用 Net.TCP 的很好的引用资料?也许我应该采取完全不同的方法?任何想法或建议将不胜感激。

谢谢!

最佳答案

流式序列化响应 block 效果很好:

您的 WCF 绑定(bind)配置将类似于以下内容:

<binding name="myCustomBinding">
<binaryMessageEncoding />
<httpTransport transferMode="StreamedResponse"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647" />
</binding>

您的 Service 方法如下所示:
[OperationContract]
public Stream GetDataStream(string objectId)
{
Stream stream = new MemoryStream();

MyObject obj = Manager.GetObject(objectId);

DataContractSerializer serilizer = new DataContractSerializer(typeof(MyObject));

serilizer.WriteObject(stream, obj);

stream.Position = 0;

return stream;
}

您的客户端完成方法将执行以下操作:
static void client_GetDataStreamCompleted(object sender, GetDataStreamCompletedEventArgs e)
{
if (e.Error == null)
{
DataContractSerializer serializer = new DataContractSerializer(typeof(MyObject));

MyObject obj = serializer.ReadObject(new MemoryStream(e.Result)) as MyObject;
}
}

关于silverlight - 如何使用 WCF 传输大量数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2758539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com