Windows Phone アプリケーションのバックグラウンド転送サービスを使用して、大きな zip ファイルをダウンロードしました。
次のチュートリアルを使用してファイルを解凍しようとしたとき:
private void LoadZipfile()
{
WebClient c = new WebClient();
c.OpenReadCompleted += new OpenReadCompletedEventHandler(openReadCompleted);
c.OpenReadAsync(new Uri("http://www.mydomain.com/myZipFile.zip"));
}
private void openReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
UnZipper unzip = new UnZipper(e.Result);
foreach (string filename in unzip.FileNamesInZip())
{
Stream stream = unzip.GetFileStream(filename);
StreamReader reader = new StreamReader(stream);
string contents = reader.ReadToEnd();
MessageBox.Show(contents);
}
}
ただし、解凍中にOutOfMemory例外がスローされます。
問題を解決する方法を教えてください