相关疑难解决方法(0)

从MVC中生成的HTML中删除额外的空格

我有一个MVC应用程序视图,生成相当大的HTML值表(> 20MB).

我正在使用压缩过滤器压缩控制器中的视图

 internal class CompressFilter : ActionFilterAttribute
 {
     public override void OnActionExecuting(ActionExecutingContext filterContext)
     {
         HttpRequestBase request = filterContext.HttpContext.Request;
         string acceptEncoding = request.Headers["Accept-Encoding"];
         if (string.IsNullOrEmpty(acceptEncoding))
             return;
         acceptEncoding = acceptEncoding.ToUpperInvariant();
         HttpResponseBase response = filterContext.HttpContext.Response;
         if (acceptEncoding.Contains("GZIP"))
         {
             response.AppendHeader("Content-encoding", "gzip");
             response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
         }
         else if (acceptEncoding.Contains("DEFLATE"))
         {
             response.AppendHeader("Content-encoding", "deflate");
             response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
         }
     }
 }
Run Code Online (Sandbox Code Playgroud)

有没有办法在运行压缩过滤器之前消除视图中生成的(非常大)冗余空白量(以减少压缩工作量和大小)?

编辑: 我使用下面的Womp建议的WhiteSpaceFilter技术.

感兴趣的是Firebug分析的结果:

1)没有压缩,没有空白条 - 21MB,2.59分钟
2)使用GZIP压缩,没有空白条 - 2MB,17.59s
3)使用GZIP压缩,空白条--558kB,12.77s

所以当然值得.

html compression asp.net-mvc whitespace http-compression

30
推荐指数
2
解决办法
2万
查看次数

如何从ASP.NET MVC#输出中删除空格?

如何从ASP.NET MVC 3输出中删除所有空格?


更新:我知道如何使用string.Replace方法或正则表达式从字符串中删除空格; 但我不知道,如何在ASP.NET MVC 3中使用主题从输出字符串中删除所有空格.例如,当调用"OnResultExecuted"方法,并且结果准备好发送给最终用户的浏览器时,我想获取结果 - 作为String或Stream对象; 他们之间没有区别 - 并且完成我的工作.谢谢大家.:)

asp.net-mvc-3

9
推荐指数
1
解决办法
1万
查看次数