我们有一个控制器在JavaScriptResult
(ActionResult)中返回动态生成的JS代码。
public ActionResult Merchant(int id)
{
var js = "<script>alert('bleh')</script>"; // really retrieved from custom storage
return JavaScript(js); // same as new JavaScriptResult() { Script = js };
}
默认的gzip过滤器正在压缩它,但没有设置Content-Length
。相反,它只是设置Transport-Mode: Chunked
并将其留在那里。
Arr-Disable-Session-Affinity:True
Cache-Control:public, max-age=600
Content-Encoding:gzip
Content-Type:application/x-javascript; charset=utf-8
Date:Fri, 06 Nov 2015 22:25:17 GMT
Server:Microsoft-IIS/8.0
Timing-Allow-Origin:*
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-AspNet-Version:4.0.30319
X-AspNetMvc-Version:5.2
X-Powered-By:ASP.NET
如何添加标题?我绝对需要这个标题。如果没有Content-Length
,则无法判断文件是否已完成下载,例如如果连接断开没有它,像Amazon CloudFront这样的某些CDN无法正确缓存。
关闭压缩后,我得到正常的内容长度。 gzip过滤器添加这个长度似乎微不足道 - 某处必须有一个选项?