惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
量子位
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
博客园 - 聂微东
美团技术团队
Last Week in AI
Last Week in AI
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog

博客园 - 風語者·疾風

转载:ZooKeeper Programmer's Guide(中文翻译) Python【map、reduce、filter】内置函数使用说明(转载) Python使用基础 Redis Sentinel:集群Failover解决方案(转载) Sentinel-Redis高可用方案(二):主从切换 Sentinel-Redis高可用方案(一):主从复制 照片方案 8天学通MongoDB(实际操作版)——第九天 构建学习型部署环境 8天学通MongoDB(实际操作版)——第一天 基础入门 构建Ubuntu Server试验环境 单元测试培训系列:(二)单元测试与Visual Studio My Record Series: (1.3) Windows Phone 7 Application Events My Record Series: (1.2) Windows Phone 7 Launchers and Choosers My Record Series: (1.1) Windows Phone 7.1 Development Environment 结合测试驱动TDD实施单元测试UnitTest 架构评审表(Architecture & Design Review Check List) 单元测试培训系列:(三)可测试性(Testability)与重构Refactoring 单元测试培训系列:(一)单元测试概念以及必要性 .NET Mocking Framework对比
Ajax-Enabled WCF Service中如何获取到Response
風語者·疾風 · 2010-08-27 · via 博客园 - 風語者·疾風

最近在研究基于Ajax-Enabled WCF方式直接给前台提供服务,在返回数据优化方面遇到一些小麻烦,归纳如下:

问题1:因为想要WCF Service方法直接返回Stream流,但若直接返回流,会被浏览器识别为文件流,弹出下载提示;

问题2:如果采用Gzip压缩Json数据流,则需要修改返回的Response中的Content-Encoding属性,否则浏览器会把流识别为乱码。

解决办法:WebOperationContext类!

在WCF中无法从HttpContext.Current中获取到当前的请求的Request和Response对象,因此必须改用WebOperationContext(PS,此类也只能在ASP.NET兼容模式的WCF中获取到上下文,普通的WCF需要使用OperationContext)以下代码分别解决问题1和问题2:
WebOperationContext
.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8";
WebOperationContext
.Current.OutgoingResponse.Headers.Add("Content-Encoding""gzip");