gpt4 book ai didi

Silverlight WebClient 渐进式下载

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

我正在尝试逐步下载一系列序列化数据。目标是从服务器发送一个大块,并在下载时在客户端对其进行部分处理。

我正在使用 System.Net.WebClient 类并将其 AllowReadStreamBuffering 属性设置为 false。根据 MSDN 文档,这应该允许我访问来自 OpenReadCompleted 事件的传入流。

但是,当我尝试访问流时,它会抛出 NotSupportedException。这不是跨域策略问题,如果我将 AllowReadStreamBuffering 属性设置为 true,它会完美地加载和读取内容。我错过了什么吗?我应该如何从 Silverlight 执行渐进式下载?

复制这个问题的最少代码是这样的:

    private void BeginProgressiveDownload()
{
WebClient client = new WebClient();
client.AllowReadStreamBuffering = false;
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
client.OpenReadAsync(new Uri("http://STREAMABLE RESOURCE HERE"));
}

void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
e.Result.ReadByte();
}

最佳答案

不要为此使用 WebClient,而是使用套接字(如果可能的话。)

Mike Schwarz 有一个出色的套接字客户端,您可以使用

http://weblogs.asp.net/mschwarz/archive/2008/03/07/silverlight-2-and-sockets.aspx

关于Silverlight WebClient 渐进式下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/980590/

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