-1

次のコードを使用してファイルをダウンロードしていますが、Response.End常にException. これは、アプリケーションの動作に対するコストですか? はいの場合、ファイルをダウンロードする別の方法を取得するにはどうすればよいですか。例外を処理するために使用しようとしましThread.ResetAbort()たが、この結果、不要な追加データがファイルに追加されます

try
            {
                   DownloadFiles();                       
                   Response.End();                   
            }
            catch (ThreadAbortException)
            {
               // Thread.ResetAbort();
            }
            catch (GSException ex)
            {
                Response.ClearHeaders();
                hdnResult.Value = ex.Message;
                // ClientScript.RegisterStartupScript(this.Page.GetType(), "checkDownloadError", "window.parent.checkDownloadError('" + ex.Message + "');", true);
            }
            catch (Exception)
            {
                Response.ClearHeaders();
                hdnResult.Value = "Oops! Something unexpected happened. Please try again later";
                //ClientScript.RegisterStartupScript(this.Page.GetType(), "checkDownloadError", "window.parent.checkDownloadError('Oops! Something unexpected happened. Please try again later');", true);
            }   
4

1 に答える 1

1

付随する例外スロー コストを支払いたくない場合は、代わりResponse.Endにメソッドを使用できます。Application.CompleteRequest

于 2013-03-31T15:04:24.347 に答える