写点什么

用于.NET 的可移植 HTTP 客户端

2013 年 6 月 01 日

直到最近,关于在.NET、Silverlight、Windows Phone 和 Windows Store 之间分享代码的问题之一,依旧是缺少发起 HTTP 请求的能力。每个框架支持一个或多个 HTTP 客户端,但在 API 层面它们互不兼容。

要解决该问题,开发者可以创建自己的平台相关适配器,并使用依赖注入把它们添加到有需要的可移植库中。而基本上,这也正是新的可移植 HttpClient 所做的事情。

当然,每个版本的 HttpClientHandler 都有不同的功能集。所以,为了尽可能地将更多的功能暴露出来,可移植 HTTP 客户端引入了诸如 SupportsUseProxy 和 SupportsAllowAutoRedirect 这样的扩展方法。

Immo Landwerth 解释道:

倘若开发者想要知道为何我们添加扩展方法而不是常规属性的话:某些 Microsoft.Net.Http 支持的平台已经提供并正在使用 HttpClientHandler 类。由于不能直接修改属性的内建版本,我们添加了扩展方法并通过 NuGet 包以独立程序集的方式发布。

基于以下原因,微软正在变得越来越青睐类似于可移植 HttpClient 这样的小型、带外发布:

首先,它搭建了一座桥梁以跨越我们已经发布的平台之间的差异。HttpClient 是一个很好的例子,同样的还有对 async 和 await 关键字的支持。带外发布特性允许我们通过单一可移植类库针对多平台发布新功能,而无需等待其中任何一个平台添加该功能。

其次,我们的目标是增强与客户之间的反馈回路。过去,我们发布“大型”beta 版本,例如整个.NET 框架的 beta 版本。这一方法当然有其优势,但我们也发现了它的问题。其中最大的缺点是“大型”beta 版发布代价高昂,而且它一般与 RTM 非常接近,这也就意味着我们不能再进行重大变更。实际上,我们必须拒绝大量在“大型”beta 版本中获得的 bug 报告,因为它们仅影响了相对小众的客户,或是因为修订这些 bug 会把 RTM 版本置于风险之中。我们当然不是第一家遇到这个问题的公司;在这个产业里,整个敏捷软件开发运动都在聚焦于此。虽然我不想开启关于敏捷方法论的哲学讨论,但是很难否认尽早并经常发布对反馈回路的问题是有帮助的。

某些开发者期望的特性未能纳入这次候选发布,其中最重要的是对自动解压缩的支持。为了不推迟本次发布,该特性将在完成后出现在后续版本中。

为了在诸如 Silverlight 等老平台上支持 async/await,可移植HttpClient 依赖 BCL 可移植性包

查看英文原文: A Portable HTTP Client for .NET

2013 年 6 月 01 日 10:121755
用户头像

发布了 256 篇内容, 共 51.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

新纪元·新生态!聚焦前沿科技,拥抱万物智联——2021开源科技节重磅来袭!

Geek_459987

HDFS的block块和副本机制

大数据技术指南

hadoop hdfs 4月日更

我能斩获自己跳动offer,全靠在一周内肝完这426页阿里面试通关手册,

钟奕礼

Java 编程 程序员 架构 面试

匪夷所思?双非本末的我是如何六面阿里 --最终斩获Java岗P7offer

钟奕礼

Java 编程 程序员 架构 面试

WordPress中常用的8个函数

Sakura

4月日更

站在巨人的肩膀上!淘宝网Java千亿级并发系统架构设计笔记

Java架构追梦

Java 架构 亿级并发 淘宝网

情指行一体化平台建设,智慧公安可视化大数据分析系统开发

WX13823153201

架构实战营 模块一 作业

PB

架构实战营

2021最新分享阿里P6面经及心得

比伯

Java 架构 面试 程序人生 计算机

四面字节斩获offer,二十不惑的年纪我的人生就这样第一次的走上了正轨,看到了前途希望与光明

钟奕礼

Java 编程 程序员 架构 面试

Elasticsearch入门,看完又要会!慎点

比伯

Java 架构 面试 程序人生 架构师

你的Parquet该升级了:IOException: totalValueCount==0问题定位之旅

华为云开发者社区

sql spark ETL任务 Parquet totalValueCount

量化策略交易系统,马丁策略平台搭建

13823153121

国产「网络安全」正稳步前进中!

Machine Gun

网络安全 信息安全 渗透测试 WEB安全 前端技术

两面翻转盒子案例(3d效果)

赫鲁小夫

4月日更

阿里团队教科书:SpringBoot全优笔记,面面俱到太全了

Java架构师迁哥

Java架构速成笔记:七大专题,1425页考点,挑战P8岗

周老师

Java 编程 程序员 架构 面试

辽宁重点人员管控系统搭建,指挥调度系统搭建

13823153121

阿里的调优方案,不愧是业界最强,吹爆这份Java性能调优手册

Crud的程序员

Java 编程 程序员 架构 架构师

解决了这5大障碍,才能用好混合云!

浪潮云

混合云

MVVP:一种基于状态的架构模式的设计与实现

行者

MySQL-技术专题-Lock入门到精通

李浩宇/Alex

MySQL lock

人民日报海外版:维护网络安全要有“软”“硬”两手

Machine Gun

Linux 网络安全 渗透测试 linux运维 WEB安全

我,第一次做项目经理,干赔了

四猿外

IDEA实用快捷建

华血

低代码平台选型的道与术

人称T客

架构学习模块一作业

架构实战营

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

周老师

Java 编程 程序员 架构 面试

字节跳动上亿级别秒杀系统优化,用这个方案可行吗?

Java架构师迁哥

架构实战训练营

Nick~毓

涨薪15K,从小公司成功逆袭,拿到美团P2-3级offer(面经+心得)

Java架构师迁哥

「中国技术开放日·长沙站」现场直播

「中国技术开放日·长沙站」现场直播

用于.NET的可移植HTTP客户端-InfoQ