的最後一部分,我創建了一個叫做AddGZip擴展方法,看起來像以下:GZipStream被切斷XML
public static void AddGZip(this HttpResponse response)
{
response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
response.AppendHeader("Content-Encoding", "gzip");
}
這是代碼的一個非常削減版本:
var response = HttpContext.Current.Response;
var request = HttpContext.Current.Request;
var result = File.ReadAllText(path);
if (request.SupportsGZip)
{
response.AddGZip();
}
response.Write(result);
response.Flush();
當您在支持GZip的Web瀏覽器中查看響應時,您會看到如下錯誤:
"XML Parsing Error: unclosed token Location: http://webserver1/1234.xml Line Number 78, Column 1:"
Wh我查看源代碼,它基本上錯過了XML文件末尾的最後一個>
。所以1或2個字節。
如果我註釋掉AddGZip線,它工作正常。但是我真的想要支持GZip,因爲XML可能非常大。
有人對我有什麼建議嗎?我試過檢查很多博客,但沒有解決方案似乎在這種類型的錯誤。
Dave
Ooo 1我應該說的事情是,我使用IIS 6.0 – CraftyFella 2010-09-06 17:35:03