我試圖逐步下載序列化數據的數組。目標是從服務器發送一個大塊,並在客戶端下載時部分處理它。Silverlight WebClient Progressive Download
我正在使用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();
}