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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值