GZIP выходной поток - PullRequest
3 голосов
/ 14 июля 2011

Я пытаюсь GZIP XML, который передается по HTTP (не через веб-службу)

if (ZipOutput)
{
    output = new GZipStream(Context.Response.OutputStream, CompressionMode.Compress);
    Context.Response.AppendHeader("Content-Encoding", "gzip");
}
else
{
    output = Context.Response.OutputStream;
}

EscapeXMLTextWriter xmlWriter = new EscapeXMLTextWriter(output, new UTF8Encoding())
{
    Formatting = Formatting.Indented
};

ZipOutput равно true, но ответ, похоже, не заархивирован. Какие-нибудь указатели, альтернативные методы?

Я знаю, что мог бы использовать SharpZipLib, но хотел использовать класс GZipStream в рамках.

Ответы [ 2 ]

3 голосов
/ 14 июля 2011

Мне кажется, что ваш код должен работать - возможно, пройдитесь по нему с помощью отладчика, чтобы убедиться, что код действительно вызывается так, как вы думаете.

Есть хорошая статья на эту тему (включая один альтернативный метод) по адресу - http://www.west -wind.com / weblog / posts / 2007 / Feb / 05 / More-on-GZip-сжатие-с-ASPNET- Содержание

2 голосов
/ 19 июля 2011

Думаю, я решил эту проблему - оказалось, что офисный брандмауэр снимает заголовок Accept-Encoding при исходящих запросах.

...