По умолчанию Asp.Net MVC (по крайней мере, моя установка), похоже, отправляет заголовок со значением
Cache-Control: private, s-maxage=0
Мне нужно удалить часть s-maxage = 0. Причина в том, что IE6, кажется, обрабатывает расположение содержимого: заголовок вложения неправильный, если этот заголовок присутствует.
Конечный эффект, который я наблюдаю, состоит в том, что, если пользователь выбирает Открыть загруженный файл вместо его сохранения, он фактически не сохраняется. Разница между рабочей не-mvc-версией и нерабочей mvc-версией заключается именно в этом заголовке.
Рабочий ответ:
HTTP/1.1 200 OK
Server: ASP.NET Development Server/9.0.0.0
Date: Thu, 10 Feb 2011 19:35:47 GMT
X-AspNet-Version: 2.0.50727
Content-Disposition: attachment; filename=results.txt
Cache-Control: private
Content-Type: text/plain; charset=iso-8859-1
Content-Length: 210
Connection: Close
<<DATA>>
Нерабочий ответ:
HTTP/1.1 200 OK
Server: ASP.NET Development Server/9.0.0.0
Date: Thu, 10 Feb 2011 20:24:04 GMT
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 1.0
Content-Disposition: attachment; filename=results.txt
Cache-Control: private, s-maxage=0
Content-Type: text/plain
Content-Length: 90
Connection: Close
<<DATA>>