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的使用率并降低服务器的总体性能。建议在局部范围内使用,具体情况具体分析了。

  • 相关阅读:
    |,&,<<,>>运算符
    Unity 异步加载场景
    string字母排序,
    冒泡算法
    Direct3D 12 编程---(1)
    点云密度粗估计
    git工具使用
    opencv---灰度图像与彩色图像遍历
    求平面两直线的交点,两直线段的交点
    结构体重载运算符
  • 原文地址:https://www.cnblogs.com/slmk/p/2431033.html
Copyright © 2011-2022 走看看