C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 138 を表示中)
■81005 / )  [WFC] StreamのCloseに時間がかかってしまう。
□投稿者/ Oharan (1回)-(2016/08/24(Wed) 18:27:40)

分類:[ASP.NET (C#)] 

WCF(.Net framwork3.5)を使用し数Gbyteのファイルをサーバからクライアントへダウンロードしています。
ダウンロードを途中で停止させようとしているのですが、(@部分)

サーバより取得した stream を Close しようとすると(A部分)
ファイルを全てReadしたのと同じ位時間がかかってしまいます。
(4GBのファイルでClose処理が完了するのに4〜5分掛かります)


なにかアドバイスを貰えれば助かります。
以上、よろしくお願いします。



サーバ---------------------------------
Stream GetFile()
{
	FileStream fs = new FileStream("C:\Data\Hoge.bin");
	return fs;
}


クライアント---------------------------------
void Download()
{
	Stream stream = GetFile();
	int readLen = 0;
	do
	{
		byte[] buf = new byte[65536];

		readLen	= stream.Read(buf, 0, buf.Length);

		if (this._cancel)
		{
			// キャンセルされたので停止する	@
			break;
		}

	} while (readLen > 0)

	// A
	stream.Close();		// Closeするのに時間がかかる
}

返信 編集キー/


管理者用

- Child Tree -