[置顶] 使用Rx

本系列包括了讲解如何使用Rx创建和订阅序列,桥接现有.NET事件和现有异步模式以及使用调度程序。 它还描述了更高级的任务,如测试和调试可观察的序列,以及实现自己的运算符。   本系列主要包含以下内容 1. 探索Rx的主要借口 2. 创建和查询可观察序列 3. Subjects 4. 调度和并发 5. 测试和调试可观察序列 6. 为IObservable实现自己的运算符...
阅读(327) 评论(0)

[置顶] 整理一下以前写的俄罗斯方块的文章

很早以前写了一些俄罗斯方块系列的文章,很多人读,一直有很多人留言提问,我整理下,定置起来,如果有时间,根据自己的理解,继续完善一下。希望大家喜欢。 学习C#从俄罗斯方块开始(一)概述 学习C#从俄罗斯方块开始(二)俄罗斯方块的规则和算法的简单实现 学习C#从俄罗斯方块开始(三)俄罗斯方块的优化和美化 因为时间关系,根据自己对俄罗斯方块的理解些了以上的三个文章,大家希望看到如何更新,写一些什么内容,我...
阅读(1991) 评论(0)

[置顶] C#多线程系列

个人感觉C#的编程,除了对算法和类库的使用以外,达到一定的水平以后,多线程的使用将会成为一个很大的瓶颈。所以重新花费时间读了一本书:《**.net 4.0面向对象编程漫谈(应用篇)**》里面关于多线程的描述。自己做了一个读书笔记,把多线程部分的要点进行了梳理,并且适当的加上了一些自己的测试和理解。整理出来,作为一个摘要,以便自己和同事们拿出来学习和使用。同时希望各位博友进行论证,大家一起学习和进步。...
阅读(1339) 评论(0)

[置顶] IIS7报错:如果要使用托管的处理程序,请安装 ASP.NET

进入CMD 输入如下命令即可 "%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -iru -enable...
阅读(4500) 评论(0)

面试过部分童鞋,遇到的一些技术问题总结

为什么要用三层或者多层结构(包括MVC结构)?好多人说自己写过三层结构的网站,或者多层结构,结构基本上模仿的petshop。但是问问他们为什么要做成三层结构,有什么好处呢?为什么不写在一起呢?个人认为有几个好处 1. 三层结构降低耦合,方便大型系统的分工。(大多数人会回答这个) 2. 提供代码的重用度。 3. 封装变化,减少因为变化带来的代码变动。这个原则是建立在普遍认为UI的变动会强于底层业...
阅读(1391) 评论(0)

创建和查询可观察序列

本节介绍如何创建和订阅可观察序列,将现有.NET事件转换为序列并进行查询。 创建和订阅简单可观察序列 与现有.NET事件桥接 与现有异步源桥接 使用LINQ运算符查询可观察序列 LINQ操作符...
阅读(172) 评论(0)

使用可观察的提供者

通过实现IQbservable接口并使用Qbservable类型提供的工厂扩展方法,您可以编写自定义LINQ提供程序来查询任何类型的外部数据,以便将这些数据视为可订阅的序列。例如,Rx MSDN开发人员中心中的LINQ to WQL示例展示了如何构建一个简单的提供程序,以便使用WQL查询WMI事件。您可以使用Qbservable类型提供的工厂LINQ运算符抽象WMI事件的序列并进行查询,过滤和组合。...
阅读(155) 评论(0)

为IObservable实现自己的运算符

您可以通过为LINQ库不提供的操作添加新运算符,或者通过创建自己的标准查询运算符实现来提高可读性和性能,从而扩展Rx。 编写自定义版本的标准LINQ操作符在您希望使用内存中对象操作时以及当预期自定义不需要查询的全面视图时非常有用。创建新操作符     LINQ提供了一整套操作符,涵盖了一组实体上的大多数可能的操作。 但是,您可能需要一个运算符为查询添加特定的语义,尤其是如果您可以在代码中多次重复使...
阅读(140) 评论(0)

测试和调试可观察序列

如果你有一个可观察的序列在一个延长的时间内发布值,实时测试可以是一个伸展。 Reactive Extension库提供TestScheduler类型,以帮助测试这种时间依赖代码,而不需要等待时间通过。 TestScheduler继承VirtualScheduler并允许您在仿真时间创建,发布和订阅序列。例如,您可以压缩出版物,需要5天才能完成到2分钟运行,同时保持正确的比例。您还可以采用实际上在过去...
阅读(281) 评论(0)

使用调度者

调度程序控制订阅何时开始以及何时发布通知。它由三个组件组成。它首先是一个数据结构。当计划要完成的任务时,它们被放入调度器以基于优先级或其他标准进行排队。它还提供了一个执行上下文,它表示在哪里执行任务(例如,在线程池,当前线程或另一个应用程序域中)。最后,它有一个时钟为自己提供时间的概念(通过访问调度器的Now属性)。在特定调度程序上调度的任务将遵守仅由该时钟表示的时间。   调度器还引入了虚拟时间...
阅读(1162) 评论(0)

使用Subjects

Subject 类型实现IObservable 和IObserver ,在它既是观察者又是可观察者的意义上。您可以使用主题订阅所有观察者,然后将主题订阅到后端数据源。以这种方式,主体可以充当一组订户和源的代理。你可以使用主题实现一个自定义observable与缓存,缓冲和时间移位。此外,您可以使用主题向多个订阅者广播数据。   默认情况下,主题不通过线程执行任何同步。他们不采取调度程序,而是假定所...
阅读(186) 评论(0)

创建和订阅简单可观察序列

您不需要手动实现IObservable 接口来创建可观察的序列。 同样,您不需要实现IObserver 来订阅序列。 通过安装Reactive Extension程序集,您可以利用Observable类型,该类型提供了许多静态LINQ运算符,用于创建具有零个,一个或多个元素的简单序列。 此外,Rx提供了订阅扩展方法,根据代理采用OnNext,OnError和OnCompleted处理程序的各种组合。...
阅读(352) 评论(0)

使用LINQ运算符查询可观察序列

在与现有.NET事件桥接时,我们已将现有.NET事件转换为可观察序列以订阅它们。 在本主题中,我们将观察可观察序列的一类本质作为IObservable 对象,其中通用的LINQ操作符由Rx程序集提供以操作这些对象。 大多数运算符采用可观察序列并对其执行一些逻辑并输出另一个可观察序列。 此外,从代码示例中可以看出,您甚至可以在源序列上链接多个运算符,以根据您的确切要求调整结果序列。使用不同的运算符...
阅读(388) 评论(0)

与现有异步源桥接

除.NET事件外,.NET Framework中还存在其他异步数据源。 其中之一是异步方法模式。 在该设计模式中,提供了两种方法。 一个方法(通常命名为BeginX)用于启动计算并返回一个IAsyncResult句柄,该句柄传递给第二个方法(通常称为EndX),然后检索计算结果。 完成通常通过实现AsyncCallback委托或轮询IAsyncResult.IsCompleted来发出信号。 代码坚...
阅读(193) 评论(0)

与现有.NET事件桥接

Rx提供了工厂方法,以便与.NET中的现有异步源桥接,以便您可以使用由任何类型的数据流提供的丰富的组合,过滤和资源管理功能。 本主题检查FromEventPattern运算符,它允许将.NET事件作为可观察序列“导入”到Rx中。 每次引发事件时,OnNext消息将被传递到可观察的序列。 然后,您可以像任何其他可观察序列一样处理事件数据。   Rx并不旨在替换现有的异步编程模型,如.NET事件,异步...
阅读(159) 评论(0)

探索Rx的主要接口

IObservable / IObserver 接口在.NET Framework 4.0基类库中可用,并且它们包含在可以安装在.NET 3.5,Silverlight 3和4以及Javascript中的包中。IObservable/IObserver  Rx将异步和基于事件的数据源公开为基于推送的可观察序列,由.NET Framework 4.0中的新IObservable 接口抽象。 这个IO...
阅读(1336) 评论(0)

Rx应用场景

本文主要描述使用Rx对当前使用.net事件模型和异步编程的好处。使用Rx的优点  无论是你处理传统的桌面程序还是基于Web的应用程序,你都必须时不时地处理异步编程。桌面程序的I/O操作或者UI线程,可能需要很长时间才能完成,而在完成过程中可能阻塞其他的线程。Silverlight禁止任何阻塞线程的调用,你唯一可以做的就是使用异步编程。 然而,现代异步编程模型的用户必须手动管理事件的异常和取消。 要编...
阅读(176) 评论(1)

Rx入门

本系列文章讲解Reactive Extensions (Rx),以及如何使用它来使开发异步应用的程序员受益。在本系列文章中重要包含以下内容 1. Rx应用场景 2. 安装Rx 3. Rx的不同版本相关系列 使用Rx 额外的资源 Rx MSDN开发者中心原文地址:https://msdn.microsoft.com/en-us/library/hh242975(v=vs.103).as...
阅读(145) 评论(0)
145条 共10页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:753815次
    • 积分:8011
    • 等级:
    • 排名:第2656名
    • 原创:117篇
    • 转载:14篇
    • 译文:14篇
    • 评论:1432条
    个人介绍
    我最近在做股票软件开发有需要做金融软件开发的朋友欢迎联系我。CSDN博客如果在乱删我的博客,我就不再更新了,建议大家去博客园看看我的博客 http://www.cnblogs.com/henrui/
    最新评论