在 IIS6 下提供下载并在 ASP.NET 开发服务器下工作,但不在 IIS7/8 下工作
Serving a download worked under IIS6 and is working under ASP.NET Dev server, but not under IIS7/8
我正在查看的页面提供生成的 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()
提供下载的link按钮所在的主页有以下第一行:
<%@ 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 开发服务器内置的 VS 2010 或旧 IIS6 运行 中调试时没有异常。
需要做哪些更改才能在 IIS7 中运行?
是否可以通过编程方式确定 headers 已经发送并在这种情况下有条件地跳过 3d 行?
在应用程序池上将管道模式从 Integrated
更改为 Classic
并回收了该池。没有更多的错误。
我正在查看的页面提供生成的 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()
提供下载的link按钮所在的主页有以下第一行:
<%@ 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 开发服务器内置的 VS 2010 或旧 IIS6 运行 中调试时没有异常。
需要做哪些更改才能在 IIS7 中运行?
是否可以通过编程方式确定 headers 已经发送并在这种情况下有条件地跳过 3d 行?
在应用程序池上将管道模式从 Integrated
更改为 Classic
并回收了该池。没有更多的错误。