我有一个ASP.NET MVC web操作,它返回一个简单的zip文件。 Responce.ContentType属性手动设置为“text/xml; charset = utf-8; gzip”。在将响应内容写入输出流之前设置此标头值。 Web项目托管在Windows Azure托管上。问题是,有时服务器返回丢失ContentType头字段的响应,这会导致客户端出现问题。不知道可能是什么原因。当我在本地运行相同的Web项目时 - 一切正常,ContentType字段具有适当的值。示例网络操作代码:ContentType HTTP标头在服务器响应中缺失
public void GetData()
{
Response.ContentType = "text/xml; charset=utf-8; gzip";
XDocument xml = new XDocument(...);//some large XML file
byte[] byteData = Encoding.UTF8.GetBytes(xml.ToString());
Stream outputStream = Response.OutputStream;
GZipStream compressedzipStream = new GZipStream(outputStream, CompressionMode.Compress);
compressedzipStream.Write(byteData, 0, byteData.Length);
compressedzipStream.Close();
}
任何帮助将不胜感激。
我在客户端的一些逻辑取决于ContentType值。感谢您的建议,我会尝试。 – 2012-02-19 10:50:49
@ Sam.Shekhovtsov,行。在这种情况下,这确实很有意义。但为什么不坚持已经提供了指示压缩响应机制的标准HTTP协议呢? – 2012-02-19 10:52:32