如何在Web Services Response C#中使用Gzip?

时间:2012-10-12 10:50:21

标签: c# javascript jquery

我从javascript调用webservices,我想在gzip中回复,但目前我的回复不是gzip。可以帮助我...

编辑:这是我使用的代码

$.ajax({

    type: "POST",
    url: "wsDashboard.asmx/" + 'Banner_GetAll',

    dataType: "json",
    contentType: 'application/json; charset=utf-8',
    success: function (response) {
        response = response.d;
        if (!response.isSucceeded) {
            j.Alert(response.message, "Error");
            return;
        }
        var result = response.result;

        var arrBanner = [];
        for (var index = 0; index < result.length; index++) {
            var newBanner = new Banner(result[index].Id, result[index].BannerName, result[index].Url, result[index].HyperLink);
            arrBanner.push(newBanner);
        }
        if (callback) callback(arrBanner);


    }
});

我已经配置了iis以在gzip中给出响应所有其他内容都是Gziped,除了我想要压缩的Web服务响应(响应在json中给出)请求头包含头接受编码Gzip

2 个答案:

答案 0 :(得分:0)

您可以在IIS级别中使用它,也可以通过代码检查GZipStream类

http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx

我会在IIS中进行更改。

答案 1 :(得分:0)

可能是客户端没有声明接受GZip,您需要在Accept-Encoding标头中执行此操作,例如

Accept-Encoding:gzip,deflate