免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

Reactive Extensions for .NET 4.5

  • 2011-11-17
  • 本文字数:785 字

    阅读完需:约 3 分钟

.NET 4.5 带来了新的功能,我们可以趁这个机会再来探讨一下独立的 Reactive Extensions 库。 Bart De Smet 谈到了 Rx 实验分支里的情况,也提到了 JavaScript 和 C++ 的 Rx。

首先是 Rx 支持 ExceptionDispatchInfo 。在之前版本的.NET 里,捕捉异常和抛出异常的线程一般是相同的。如果库需要把它们挪到另一个线程,会通过封送回调的字段传递它们,然后通过一个泛型异常包装它们。新的异常不能隐藏下面发生的真正错误。

ExceptionDispatchInfo.Capture 方法用于捕获异常,然后通过 ExceptionDispatchInfo.Throw 在正确的线程里重新抛出。堆栈跟踪同时包括新的和原来位置的帧,并通过“End of stack trace from previous location where exception was thrown”文字分割两者。

Reactive Extensions 创建的时候无法使用 Task,因为那时 Task Parallel Library 还不能用,即使现在,许多平台仍然不支持 TPL,比如说,Silverlight。作为替代方案,Rx 库是在.NET 原来的异步模式上构建的。因此 Observable 可以通过 Observable.FromAsyncPattern 方法创建。

由于 C# 5 和 VB 11 支持的 async/await 是在任务之上构建的,各个平台现在应该完全支持 Task Parallel Library 了。这使得 Rx 项目最终可以直接从 Task构建 Observable。

除了任务和 Observable 之间的转换,Reactive Extensions 还将直接支持 await 关键字。这会返回 IObservable 序列的最后一项。如果想要序列里的全部项,可以通过 ToList 方法把 IObservable转成 IObservable<List>。

另一个改变是替换了 Average 和 ForEach 等阻塞操作。举个例子,新的 ForEachAsync 方法将会返回一个可以等待的 Task。

JavaScript 版的 RxJS 将会有一个新的版本,基于 Rx 的当前产品版本。目前还没有时间表,但他们表示已经进入完善阶段。Reactive Extensions 组还有一个本地开发者负责 C++ 版,暂命名为 RxC。

查看英文原文: Reactive Extensions for .NET 4.5

2011-11-17 07:342009

评论

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

Cornerstone for Mac(最好用的SVN管理工具)v4.2永久激活版

理理

Notcoin 加速器三角:它如何支持 TON

大瞿科技

Desktop Goose for Mac(抖音桌面宠物鹅)v0.22激活版

Rose

在心大陆的AI童话世界里,每个孩子都拥有“幸福陪伴”

心大陆多智能体

智能体 AI大模型 心理健康 数字心理 陪伴机器人

Parallels Desktop 19 for Mac(PD19虚拟机) v19.1.0一键激活版

理理

9000字干货:从消息流平台Serverless之路,看Serverless标准演进

华为云PaaS服务小智

Serverless 华为云

合合信息参编“生成式人工智能个人信息保护技术要求系列标准”,助力AI行业可信发展

合合技术团队

合合信息 #科技 生成式人工智能

火山引擎联合RollingAI、InfoQ共同发布《生成式 AI 商业落地白皮书》

新消费日报

Dynamic Wallpaper for Mac(精美的动态壁纸)v17.1免激活版

Rose

Autodesk AutoCAD 2022破解版(CAD 2022中文版安装教程)mac/win

Rose

薪人薪事&用友BIP无缝对接,重塑企业管理新生态!

聚道云软件连接器

案例分享

PhpStorm 2023 for Mac(PHP集成开发) v2023.3.2激活版

Mac相关知识分享

macOS 12 Monterey (苹果mac12系统)v12.7.2正式版

理理

VMware Fusion Pro 12破解版 v12.2.5 mac vm虚拟机密钥分享

理理

Microsoft Office LTSC for Mac/win 2021永久使用版

理理

企业数字化离不开ERP和MES

万界星空科技

数字化转型 ERP 生产管理系统 mes 万界星空科技

PhpStorm 2023 for Mac(PHP集成开发) v2023.3.2激活版

Mac相关知识分享

windows11系统,Win11,windows11下载,ARM版Win11镜像

理理

匠人携手金蝶&诺诺,打造企业数字化管理新纪元!

聚道云软件连接器

案例分享

TechTool Pro for mac(硬件监测和系统维护工具) v20.0.1中文激活版

Mac相关知识分享

Mimestream for Mac(电子邮件客户端) v1.3.7激活版

Mac相关知识分享

Waves 15 Ultimate for Mac(后期混音效果全套插件) v2024激活版

Mac相关知识分享

插件套装

硅纪元视角 | GPT-4o mini限时免费微调,每天200万免费token

硅纪元

openai GPT-4o mini Minimax

SecureCRT mac使用详细教程 (SecureCRT for mac注册密钥)

理理

Sketch for mac(专业矢量绘图设计软件)v99.1中文激活版

Rose

pycharm pro for mac(Python编辑开发) v2023.3.2中文激活版

Mac相关知识分享

开发

人工智能丨利用人工智能自动找bug

测试人

软件测试

Microsoft 365 for Mac(Office 365)v16.80正式激活版

Rose

LRC2022中文破解资源 Lightroom Classic 2022下载 mac/win

Rose

MobPush Android SDK厂商通道申请指南

MobTech袤博科技

Java 开发者 产品动态

Reactive Extensions for .NET 4.5_.NET_Jonathan Allen_InfoQ精选文章