首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传出http数据压缩

传出http数据压缩
EN

Stack Overflow用户
提问于 2010-09-28 17:38:18
回答 1查看 523关注 0票数 1

有没有人知道,有没有可能在IE中压缩我输出的http数据?我执行对服务器的ajax请求,并希望减少流量,以加快我的应用程序的速度。

谢谢,埃戈尔

EN

回答 1

Stack Overflow用户

发布于 2010-09-28 17:46:14

以下是创建压缩过滤器属性的常用方法:

代码语言:javascript
复制
public class CompressFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext actionContext)
    {
        HttpRequestBase request = actionContext.HttpContext.Request;

        string acceptEncoding = request.Headers["Accept-Encoding"];

        if (!string.IsNullOrWhiteSpace(acceptEncoding))
        {
            acceptEncoding = acceptEncoding.ToLowerInvariant();
            HttpResponseBase response = actionContext.HttpContext.Response;

            if (acceptEncoding.Contains("gzip"))
            {
                response.AddHeader("Content-encoding", "gzip");
                response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
            }
            else if (acceptEncoding.Contains("deflate"))
            {
                response.AddHeader("Content-encoding", "deflate");
                response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
            }
        }
    }
}

现在你可以用[CompressFilter]属性来修饰你的控制器了。它将向支持压缩报头的浏览器的响应中添加压缩报头,IIS将拾取该报头。如果您已打开动态压缩,则IIS将输出压缩的响应。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3811463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档