我正在查看的页面提供生成的PDF文件:
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")%>
3d行导致异常:
Server cannot append header after HTTP headers have been sent.
在内置ASP.NET Dev服务器的VS 2010中进行调试或在旧的IIS6中运行时,没有例外。
在IIS7中需要进行哪些更改?
是否可以通过编程方式确定标题已经发送并在这种情况下有条件地跳过3d行?
答案 0 :(得分:0)
将应用程序池上的管道模式从Integrated
更改为Classic
并重新使用池。没有更多的错误。