2016-03-23 3 views
0

страницы Я смотрю на служит сгенерированный PDF-файл:сервировки загрузки работала под IIS6 и работает под управлением сервером ASP.NET Dev, но не под IIS7/8

Dim Response As System.Web.HttpResponse = System.Web.HttpContext.Current.Response 
Response.Clear() 
Response.ClearHeaders() 
Response.AddHeader("Content-Type", "binary/octet-stream") 
Response.AddHeader("Content-Disposition", "attachment; filename=View.pdf; size = " & pdfBytes.Length.ToString()) 
Response.Flush() 

Response.BinaryWrite(pdfBytes) 
Response.Flush() 
Response.End() 

На главной странице, что ссылка кнопка служит загрузку в имеет следующие первые строки:

<%@ Master Language="VB" AutoEventWireup="false" Inherits="App.WebGui.Nav" CodeBehind="Nav.master.vb" %> 
<% Response.CacheControl = "no-cache"%> 
<% Response.AddHeader("Pragma", "no-cache")%> 

3-я линия вызывает исключение:

Server cannot append header after HTTP headers have been sent. 

W отладка в VS 2010, построенная на сервере ASP.NET Dev или работающая в старом IIS6, не является исключением.

Какие изменения необходимы для работы в IIS7?

Можно ли программным образом определить, что заголовки уже отправлены и условно пропускают трехмерную линию в этом случае?

+0

Просто перепишите страницу aspx как обработчик ashx, тогда все заботы о автоматически сгенерированных заголовках исчезнут. –

+0

Переписывание всего не является вариантом: (поскольку это огромное наследие, написанное богом, знает, кто без бюджета для каких-либо улучшений. Мне нужно только исправить эту проблему на IIS7, а не сделать ее идеальной. – ajeh

ответ

0

Изменен режим трубопровода от Integrated до Classic на пуле приложений и переработанном бассейне. Больше ошибок.

Смежные вопросы