zoukankan      html  css  js  c++  java
  • [Silverlight]实战WCF RIA gzip压缩

    本文利用IIS7的“动态内容压缩”,实现WCF RIA输出的内容压缩后发送到客户端浏览器。测试环境:Win7+IIS7.5;网络监视工具:Fiddler2 (用Firebug也可)。

    测试代码:

    web端:

    [EnableClientAccess()]
    public class StringService : DomainService
    {
    public string GetString()
    {
    return File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "app_data/string.txt"));
    }
    }

    silverlight端:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
    sc.GetString(io =>
    {
    tbString.Text = io.Value.Length.ToString();
    },null);
    }

    代码很简单,Domain Service的Invoke方法GetString从文本文件string.txt中读取全部文本,输出一个很长的String,由silverlight端获取此字符串。

    将应用程序发布到IIS后,运行如图:(注意将应用程序的身份验证方式,只保留匿名验证,其他都禁用)

    实战步骤:

    1、使用Fiddler2截获请求,作为实战前的对照:

    可以看出WCF Ria返回的内容类型是:application/msbin1

    2、安装“动态内容压缩”:

    以win7为例:

    3、对appliction/msbin1类型启用压缩:

    安装完后,打开inetmgr后发现:

    动态内容压缩已经启用:

    但这并不代表所有内容类型,都会启用压缩。打开“c:\Windows\System32\inetsrv\config\applicationHost.config”文件,添加如红色下划线的部分:

    <add mimeType="application/msbin1" enabled="true" />

    重启站点。

    4、重新运行应用程序,用Fiddler2观察:

    可以看到输出的内容压缩到了原来的1/18,gzip压缩确实很给力。

    注意:

    微软提示:使用动态内容压缩可能会提高cpu的使用率并降低服务器的总体性能。建议在局部范围内使用,具体情况具体分析了。

  • 相关阅读:
    讲清楚之 javascript 参数传值
    JS+CSS3 360度全景图插件
    一些个人感觉很不错的特效
    从ES6重新认识JavaScript设计模式(三): 建造者模式
    动态监听输入框值的变化
    React Native基础&入门教程:调试React Native应用的一小步
    这儿有一个使你网页性能提升10倍的工具
    业务连续性实战
    strong and weak 强引用和弱引用的差别
    Codeforces Round #254 (Div. 2):B. DZY Loves Chemistry
  • 原文地址:https://www.cnblogs.com/slmk/p/2431033.html
Copyright © 2011-2022 走看看