摘要: http://www.cnblogs.com/mqsuper/archive/2008/08/12/1265520.htmlhttp://blog.csdn.net/fuadam/article/details/2766616 阅读全文
posted @ 2012-04-10 14:16 Tammie-锴 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 【IT168技术】导读:之前Visual Studio 11开发者预览版发布的消息受到了众多技术人员的关注和讨论。日前Visual Studio 11最新的Beta版本在巴塞罗那正式推出。我们重点了解一下Visual Studio 11 九大新功能。 项目兼容(Project Compatibility) 高效的IDE(IDE Productivity Improvements) 随处搜索(Search Everywhere) 工具栏升级(Toolbar Improvements) 附加工具(Additional Tooling) 多显示器支持(Multiple-Monitor S... 阅读全文
posted @ 2012-04-02 20:33 Tammie-锴 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 从.NET3.5开始 加入了这两个概念。在4.0中更是加强了这里就这两个概念做一个分析委托调用的方法不需要与委托声明定义的类型相同。因此可能出现协变和抗变。1. 返回类型协变方法的返回类型可以派生于委托定义的类型。在下面的示例中,委托MyDelegate定义为返回DelegateReturn类型。赋予委托实例d1的方法返回DelegateReturn2类型,DelegateReturn2派生自DelegateReturn,因此满足了委托的需求。这称为返回类型协变。public class DelegateReturn{}public class DelegateReturn2 : Delega 阅读全文
posted @ 2012-04-02 20:17 Tammie-锴 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 第一步:创建User实体类1using System; 2using System.Collections.Generic; 3using System.Text; 4 5namespace NHibernateTest 6{ 7 [Serializable] 8 public class User 9 {10 private int _id;1112 public int Id13 {14 get { return _id; }15 set { _id = value; }16 ... 阅读全文
posted @ 2012-03-30 15:43 Tammie-锴 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 写这个系列原本的想法是讨论一下.NET中异步编程风格的变化,特别是F#中的异步工作流以及未来的.NET 5.0中的基于任务的异步编程模型。但经过三篇文章后很多人对IO异步背后实现的原理以及为什么这样能提高性能很感兴趣。其实我本不想花更多的文字在这些底层实现的细节上,一来我并不擅长这些方面,二来我们使用.NET的异步IO就不需要关心这些底层东西,因为已经为你封装完备了。不过为了避免大家一再在这上面商讨,我还是在这个系列中间插入了一篇来解释一下。本文我将从内核对象IO完成端口开始介绍,然后来瞧瞧.NET BCL中的FileStream.BeginRead是如何利用IO完成端口来实现的。IO完成端口 阅读全文
posted @ 2012-03-29 16:25 Tammie-锴 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中我们围观了传统的异步编程,感受到了异步编程不是简单的事情。传统的异步方式将本来紧凑的代码都分成两部分,不仅仅降低了代码的可读性,还让一些基本的程序构造无法使用,所以大部分开发人员在遇到应该使用异步的地方都忍痛割爱。本来我在本篇文章中想讨论一下.NET世界中已有的几个辅助异步开发的类库,但是经过思考后觉得在这之前介绍一下一些理论知识也许对理解后面的类库以及更新的内容有所帮助。今天我们要讨论的是Continuation Passing Style,简称CPS。CPS首先,我们看看下面这个方法: 1: public int Add(int a, int b) 2: { 3:... 阅读全文
posted @ 2012-03-29 16:24 Tammie-锴 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中,我们从构建响应灵敏的界面以及构建高可伸缩性的服务应用来讨论我们为什么需要异步编程,异步编程能给我们带来哪些好处。那么知道了好处,我们就开始吧,但是在异步编程这个方面,说总是比做简单。套用那句不是名言的名言:编写异步程序是困难的,编写可靠的异步程序尤其困难。因为异步程序非常难以编写,而且非常容易出错,很多基本的构造元素在异步编程中都无法使用,这让我们这些开发人员更愿意编写同步的代码,虽然我们知道有些地方真的应该使用异步。如何实现异步对于很多人来说,异步就是使用后台线程运行耗时的操作。在有些时候这是对的,而在我们日常大部分场景中却不对。比如现在我们有这么一个需求:使用HttpWeb 阅读全文
posted @ 2012-03-29 16:23 Tammie-锴 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 在2010年的PDC上,微软发布了Visual Studio Async CTP,大大地降低了异步编程的难度,让我们可以像写同步的方法那样去编写异步代码。Async CTP也在社区里掀起了不小的波澜。在这之后,我也学习了一段时间,这个系列会将这段时间的学习作个梳理。 好了,下面进入本文的正题。 为什么需要异步编程 既然同步的写法更自然简单,异步的代码(传统的)不好写,还容易出错,那我们为什么需要去编写异步的代码呢?微软还要费这么大劲投入对Async CTP的开发呢?这其中肯定有一些原因。 快速响应的用户界面 作为电脑的资深用户,我们肯定有多次“漏斗式鼠标”,“转圈式鼠标”的体验吧。... 阅读全文
posted @ 2012-03-29 16:22 Tammie-锴 阅读(190) 评论(0) 推荐(0) 编辑
摘要: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.ServiceProcess;namespace 服务控制程序{ public partial class Form1 : Form { bool tuchu=false... 阅读全文
posted @ 2012-03-29 13:57 Tammie-锴 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 1. 向项目添加app.config文件: 右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。出现在设计器视图中的app.config文件为:在项目进行编译后,在bin\Debuge文件下,将出现两个配置文件(以本项目为例),一个名为“JxcManagement.EXE.config”,另一个名为“JxcManagement.vshost.exe.config”。第一个文件为项目实际使用的配置文件,在程序运行中所做的更改都将被保存于此;第二个文件为原代码“a 阅读全文
posted @ 2012-03-28 16:34 Tammie-锴 阅读(490) 评论(0) 推荐(0) 编辑