Стоимость использования Response.End()
Я использую следующий код для загрузки файлов, но я столкнулся с этим 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);
}
1 ответ
Если вы не хотите оплачивать стоимость броска исключения, Response.End
Вы могли бы использовать Application.CompleteRequest
метод вместо.