ストリームのダウンロードの過度の使用の問題を解決するために、ファイルをダウンロードするためのASP.NET Webページ

長い間、この問題の前に、誰かが中に私のブログにそれを置く、最近に頼まれた、尋ね
Response.WriteFile(フルネーム)を使用してファイルをダウンロードします一般的な
、あまりにも多くのスペースによって引き起こされるスクラッチ、これはにAspnet_wp.exeの原因となります失敗をダウンロードし、ストリームモードを使用してダウンロードすることをお勧めします


長い間、この問題の前に、誰かが、私のブログにそれを置く、最近に頼まれた、尋ねました

ダウンロードファイルは、一般的にResponse.WriteFile(フルネーム)が使用されています

これは、ストリームをダウンロードすることをお勧めします、あまりにも多くのスペースのダウンロードが失敗にAspnet_wp.exeスクラッチの原因となります

asp.net(C#の)

プログラムの一部

        IStream = nullをSystem.IO.Stream;

        // 10Kスクラッチユニットへ:
        バイト[]バッファ=新しい新しいバイト[10000];

        int型の長さは、

        ロングdataToRead;

        //ドキュメントのパスの策定
        (「文字列のファイルパス= Server.MapPathのを〜 /aaa.rar「);

        //ドキュメント名を取得する
        文字列のファイル名= System.IO.Path.GetFileName(ファイルパス);

        してみてください
        {...
            //ドキュメントを開い
            たIStream =新新System.IO.FileStream(ファイルパス、システム。 IO.FileMode.Open、
                        System.IO.FileAccess.Read、System.IO.FileShare.Read);


            //ドキュメントのサイズを取得:
            dataToRead = iStream.Length。

            Response.ContentTypeの= "アプリケーション/ X-RAR圧縮"。
            Response.AddHeader( "コンテンツの廃棄"、 "添付ファイル;ファイル名=" + HttpUtility.UrlEncode(ファイル名));

            一方、(dataToRead> 0)
            ... {
                //保证クライアント连接
                IF(Response.IsClientConnected)
                ... {
                    長さ= iStream.Read(バッファ、0、10000)。

                    Response.OutputStream.Write(バッファ、0、長さ)。

                    Response.Flush();

                    バッファ=新しいバイト[10000]。
                    dataToRead = dataToRead -長さ。
                }
                他に
                ...
                    //エンドループ
                    dataToRead = -1;
                }
            }
        }
        キャッチ(例外EX)
        ... {
            //エラー
            のResponse.Write( "エラー:" + ex.Message);
        }
        最後に
        ... {
            IF(= nullをISTREAM! )
            ... {
                //文書を閉じ
                iStream.Close();
            }
        }

参考サイト:

http://www.blueshop.com.tw/board/show.asp?subcde=BRD200706131110357NX&fumcde=

http://www.blueshop.com.tw/board/show.asp?subcde=BRD20080506151701ZMH&fumcde=FUM20041006161839LRJ

オリジナル:ビッグボックス  ストリームのダウンロードの過度の使用の問題を解決するために、ファイルをダウンロードするためのASP.NET Webページ


おすすめ

転載: www.cnblogs.com/chinatrump/p/11505321.html
おすすめ