SkyDriveのダウンロードプロセスに問題があり、私を助けてくれることを願っています。
標準のSkyDriveAPIと例に従って、SkyDriveフォルダー構造を参照し、ユーザーがファイルをクリックしてダウンロードを求めるプロンプトを表示するページを設定しました。すべて正しく機能します。
私が問題を抱えているのは、ダウンロードしたファイルが大きい場合、100Mbマーク付近でOutOfMemoryExceptionがスローされることです。
デニスはここhttp://dotnet.dzone.com/articles/2-things-you-should-considerでこの問題について話しますが、SkyDriveアーキテクチャを介さずに直接URLをダウンロードすることに関係しています。
SkyDriveからURLを抽出し、その方法で直接ダウンロードしようとしましたが、成功しませんでした。
これが私が使用しているコードです-「item」オブジェクトはSkyDriveItemタイプであり、フォルダーのコンテンツを繰り返し処理してこのファイルを選択しました。
LiveConnectClient downloadClient = new LiveConnectClient(App.Session);
try
{
downloadClient.DownloadCompleted += new EventHandler<LiveDownloadCompletedEventArgs>(downloadClient_DownloadCompleted);
downloadClient.DownloadProgressChanged += new EventHandler<LiveDownloadProgressChangedEventArgs>(downloadClient_DownloadProgressChanged);
downloadClient.DownloadAsync(item.ID + "/content", item);
これは、ファイルが大きすぎない場合は正常に機能しますが、前述のように、大きなファイル(> 100Mb)を選択すると、OutOfMemory例外で終了します。
ポインタはありますか?
前もって感謝します