Сбой ASP.NET Response.TransmitFile при первой загрузке - PullRequest
3 голосов
/ 19 октября 2010

У меня есть некоторый код на странице aspx, затем, когда пользователь загружает страницу , он начинает загрузку zip. Выглядит так:

            Response.ContentType = "application/octet-stream";
            Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileSaveName);
            Response.TransmitFile(zipPath);
            Response.End();

Проблема в ПЕРВЫЙ раз, когда это поражено, я получаю следующую ошибку:

alt text

zip-файл существует и его нет в моем wwwroot. Если я обновлю страницу, файл загрузится нормально.

Если я упаковываю код в Try Catch, я получаю исключение System.Threading.Threadabort с сообщением:

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.

ПРИМЕЧАНИЕ: я действительно получаю это исключение каждый раз. Я думаю, это просто связано с Response.End

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 19 октября 2010

Response.End, вероятно, выдаст исключение, чтобы вывести quick'n'dirty, так что, тем не менее, этот файл ... Я подозреваю, что ваш Response.End все портит, вы пытались сделать .Flush ()первый?Вы можете получить подсказку, используя Fiddler, чтобы проверить, что на самом деле возвращает сервер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...