Coldfusion IIS 8.5强制不正确的内容长度标头

Coldfusion IIS 8.5强制不正确的内容长度标头,coldfusion,coldfusion-10,windows-server-2012-r2,iis-8.5,Coldfusion,Coldfusion 10,Windows Server 2012 R2,Iis 8.5,我们有一个动态生成PDF文件并强制下载文件的应用程序。此代码在Windows Server 2008上正常工作。据我所知,IIS似乎正在强制内容长度为749,而它应该是83233。我曾尝试在应用程序代码中设置该值,但IIS完全忽略了它 已安装Microsoft的URL重写,但没有此网站的条目 我已禁用静态和动态内容的压缩 通过应用程序代码,我试图设置Content-Length标头,并将X-Content-Length标头设置为相同的值。这就是我如何确定值被IIS覆盖的原因 当我通过ColdF

我们有一个动态生成PDF文件并强制下载文件的应用程序。此代码在Windows Server 2008上正常工作。据我所知,IIS似乎正在强制内容长度为749,而它应该是83233。我曾尝试在应用程序代码中设置该值,但IIS完全忽略了它

  • 已安装Microsoft的URL重写,但没有此网站的条目
  • 我已禁用静态和动态内容的压缩
  • 通过应用程序代码,我试图设置Content-Length标头,并将X-Content-Length标头设置为相同的值。这就是我如何确定值被IIS覆盖的原因
  • 当我通过ColdFusion的内置web服务器点击相同的URL时,下载工作没有问题。这就是为什么我知道这是IIS或IIS与ColdFusion之间的连接器的问题
以下是来自服务器的响应头

Response Headers
-------------------------------------------------------------
Connection: close
Content-Length: 749
Content-Type    : application/pdf;charset=UTF-8
Date: Thu, 13 Nov 2014 03:36:03 GMT
Server: Microsoft-IIS/8.5
X-Content-Disposition: attachment;filename=LasVegas.pdf
X-Content-Length    :83233
X-Powered-By    :ASP.NET
这是密码

<cfcontent reset="true"/>
<cfset variables.temporaryFilePath = "C:\inetpub\wwwroot\LasVegas.pdf">
<cfheader name="Content-Length" value="#getFileInfo(variables.temporaryFilePath).size#"/>
<cfheader name="X-Content-Length" value="#getFileInfo(variables.temporaryFilePath).size#"/>
<cfheader name="X-Content-Disposition" value="attachment;filename=LasVegas.pdf">
<cfcontent type="application/pdf" file="#variables.temporaryFilePath#" deleteFile="no">


这可能与此相关:我也遇到了同样的问题。Jordan,我最终放弃了IIS,搬到了Apache。这不值得费心设置。看起来我们遇到了一个非常类似的问题——但我们现在没有选择迁移到Apache,我不认为!