朱祁林       zhuqilin   
     摘要: 从WF4.0 betal1出来的时候就开始使用WF4.0,由于资料不多,学习过程也非常艰苦。今年四月份的时候打算写WF4.0实战系列,由于今年是本命年故坚持写了24篇文章。这个系列的文章都有一个特点,就是每篇文章都有一个实例,所以对初学者来说是很有帮助的。这个系列的绝大数文章和程序都是原创,少数是翻译和借鉴别人的。写一个文章索引,方便WF4的学习者查看。 WF4.0实战(一):文件审批流程 WF4...  阅读全文
posted @ 2010-07-05 09:17 麒麟 阅读(2103) | 评论(10) | 编辑
     摘要: Model Binder在Asp.net MVC中非常简单。简单的说就是你控制器中的Action方法需要参数数据;而这些参数数据包含在HTTP请求中,包括表单上的Value和URL中的参数等。而ModelBinder的功能就是将这些个表单上的Value和URL中的参数换成对象,然后将这些对象绑定到Action的参数上面。我简单的画了一个图,看起来会更加直观。 在asp.net mvc中你可以写类似...  阅读全文
posted @ 2010-07-31 13:21 麒麟 阅读(654) | 评论(16) | 编辑
     摘要: 在BPM、OA等系统中,都会存在一个表单设计器。有些是通过操作gridview来完成一个表单的设计;有些是通过类似VS拖拽的方法完成一个表单的设计。很明显后面一种优越于前面一种。无论是哪种,最后都会产生一些XML之类的表单结构的数据。 这篇文章将讲述,在表单设计器设计好表单之后,在ASP.NET MVC中如何将表单结构的xml转换成实际应用系统中的表单。看下面一个xml文件,我们假设它是由一个表单...  阅读全文
posted @ 2010-07-30 01:14 麒麟 阅读(1614) | 评论(30) | 编辑
     摘要: 最近关注ASP.NET MVC,汇总一下优秀的ASP.NET MVC博客,欢迎大家能帮忙补充。1、Scott Guthrie:http://weblogs.asp.net/scottgu/2、Scott Hanselman:http://www.hanselman.com/blog/3、Rob Conery:http://blog.wekeroad.com/4、Phil Haack:http://...  阅读全文
posted @ 2010-07-28 10:03 麒麟 阅读(373) | 评论(3) | 编辑
     摘要: Asp.net mvc2中提供很多可以扩展的地方,利用这些扩展之后,asp.net mvc使用起来更加灵活。Simone Chiaretta曾写过一篇文章:13 ASP.NET MVC extensibility points you have to know。文章中概括性的介绍了13个asp.net mvc开发人员必须知道的扩展点。我将从这13个扩展点中挑选几个常见的重要的扩展点进行详细的介绍。...  阅读全文
posted @ 2010-07-27 01:39 麒麟 阅读(1418) | 评论(6) | 编辑
     摘要: .NET Framework 的部分源代码是开源的。这些源代码可以供我们学习和参考。也可在也平时调试应用,直接跳入这些开源了的.NET Framework的代码中。这样既可以学习MS放出来的代码,又可以帮助自己调试。下面我用一个WPF的简单的例子演示一下。 新建一个WPF应用程序,拖一个button,后台代码弹出一个messagebox就行了。下面我将调试MessageBox.Show("hell...  阅读全文
posted @ 2010-07-26 00:39 麒麟 阅读(1890) | 评论(20) | 编辑
     摘要: 首先我必须承认访问一个类的私有成员不是什么好做法。大家也都知道私有成员在外部是不能被访问的。而一个类中会存在很多私有成员:如私有字段、私有属性、私有方法。对于私有成员访问,可以套用下面这种非常好的方式去解决。 但是有时候,源代码是别人的,你就不能修改源代码,只提供给你dll。或者你去维护别人的代码,源代码却有丢失。这样的情况如果你想知道私有成员的值,甚至去想直接调用类里面的私有方法。那怎么办呢?其...  阅读全文
posted @ 2010-07-25 23:12 麒麟 阅读(2222) | 评论(21) | 编辑
     摘要: 我的操作系统是win7旗舰版,.net开发环境是Visual Studio 2010,数据库是Sql Server 2008。 最近一段时间发现自己的C盘的空间不够用了,出现了红色的警示。特别最近几天C盘的剩余空间逼近0K。 最近项目比较紧张,不敢重装系统,逼于无奈,只好卸载一些软件。俺的C盘大小是50G,不算大,也不算小了。最近两天,我是反复的去卸载一些软件,每次都能腾出十几M的空间。令人费解的...  阅读全文
posted @ 2010-07-21 20:07 麒麟 阅读(3822) | 评论(50) | 编辑
     摘要: 在Asp.net MVC中,我们能非常方便的使用Ajax。这篇文章将介绍三种Ajax使用的方式,分别为原始的Ajax调用、Jquery、Ajax Helper。分别采用这三种方式结合asp.net mvc去实现一个史上最简单的留言板。 首先看一下原始的Ajax的调用的 定义CommentController,代码如下: 在Asp.net MVC中添加一个custom_ajax.js,加入下面使...  阅读全文
posted @ 2010-07-18 19:58 麒麟 阅读(2261) | 评论(21) | 编辑
     摘要: 我们在Asp.net mvc的view开发过程中,如果不注意可能会写大量的重复的代码。这篇文章介绍3种方式重构View的代码,来减少View中的重复代码。 1、母板页 在Asp.net mvc中保留了母板页的使用,我们可以使用母板页对我们的站点进行布局。看下面母板页的代码: 在Asp.net mvc中使用母板页和Web Form中类似,需要定义ContentPlaceHolder,加上使用一...  阅读全文
posted @ 2010-07-14 10:41 麒麟 阅读(2045) | 评论(21) | 编辑
     摘要: ASP.net MVC框架提供了大量的HTML渲染的方法和控件,但是使用起来有诸多的不便。对于有经验的设计者使用HTML helpers可以构建一个简单的用户界面,然后加上一些HTML和css就能构建出非常漂亮的界面。但是,对开发人员来说使用一些第三方的控件,界面可能更加方便,开发效率会更高,也使开发人员不用花大量的时间在UI界面上。 这篇文章将介绍两个非常有用的,可以在Asp.net mvc ...  阅读全文
posted @ 2010-07-10 15:56 麒麟 阅读(1647) | 评论(8) | 编辑
     摘要: 从WF4.0 betal1出来的时候就开始使用WF4.0,由于资料不多,学习过程也非常艰苦。今年四月份的时候打算写WF4.0实战系列,由于今年是本命年故坚持写了24篇文章。这个系列的文章都有一个特点,就是每篇文章都有一个实例,所以对初学者来说是很有帮助的。这个系列的绝大数文章和程序都是原创,少数是翻译和借鉴别人的。写一个文章索引,方便WF4的学习者查看。 WF4.0实战(一):文件审批流程 WF4...  阅读全文
posted @ 2010-07-05 09:17 麒麟 阅读(2103) | 评论(10) | 编辑
     摘要: 概述:     用WF也可以处理网站的业务逻辑,有一个非常好的开源项目:Dropthings,它就是用WF去处理网站的业务逻辑的。这篇文章中,我也将实现一个站点,这个站点使用WF4去处理复杂的业务逻辑。     首先说明一下这个程序的主要功能。日常生活中,我们会大量的使用webservice。比如查天气预报、查看火车时刻表、航班等等。...  阅读全文
posted @ 2010-07-04 16:44 麒麟 阅读(1098) | 评论(2) | 编辑
     摘要: 近日,园子里面的大牛们进行C#大论战。如果你是一位初学者,你是否会因为看到这些批判C#.net评论,而对.net的信念产生动摇。如果你已经毕业,从事.net开发时间不长,是否因为看到firelong此次抨击.net以及.net或者对不起,我也是来给.Net泼冷水的之类的文章,而对.net平台产生怀疑。这篇文章是写给此类的C#开发人员看和讨论的。也希望我的担心只是多余的。 首先,我会列举出一些用.n...  阅读全文
posted @ 2010-06-28 01:42 麒麟 阅读(3420) | 评论(87) | 编辑
     摘要:     经常有童鞋在群里面问同样一个问题:如何自定义WF4.0活动的外观。其实一共有两种方式去实现自定义WF4.0活动的外观:一种方式我在以前的博文上实现过,见:WF4.0实战(十一):邮件通知;另外一种方式我将在这里讲述它的实现。故这篇文章中,我将分别用这两种方式去一个最简单的WF4.0自定义活动外观的例子。     第一种方式:使用...  阅读全文
posted @ 2010-06-27 19:22 麒麟 阅读(1438) | 评论(2) | 编辑
     摘要:     这是实际生活中的一个状态机的例子:“门”。这个例子是Mebyon Kernow写的,使用状态机对门的状态进行控制,我觉得是学习WF4.0中状态机的好例子。所以,简单的翻译了他这篇文章。希望对你学习WF4.0的状态机有所帮助。以下是正文。原文是:A practical State Machine example ------------...  阅读全文
posted @ 2010-06-26 14:20 麒麟 阅读(1481) | 评论(4) | 编辑
     摘要: WCF与P2P WCF是用来实现数据通信的,这篇文章中。我将带领大家进入WCF的P2P的世界。通过一个实例,说明WCF中使用P2P。 首先让我们了解一下什么是P2P。详细见:P2P。这里根据我的理解,结合WCF简单的叙述一下。一般使用WCF,客户端与客户端交互都要使用一个服务端作为中间站。客户端将数据传递给服务端,服务端再转发给其他的客户端。很明显,这显然加重了服务端的负担。P2P是解决这个问题...  阅读全文
posted @ 2010-06-20 03:34 麒麟 阅读(1710) | 评论(17) | 编辑
     摘要:     在之前的一篇博文Windows Server AppFabric介绍上,简单的介绍了一下Windows Server AppFabric。这篇文章中,我将介绍一下,如何在将WF4.0应用程序宿主到Windows Server AppFabric中,以及如何持久化配置和追踪配置。     首先,我将使用asp.net和WF4.0实...  阅读全文
posted @ 2010-06-18 15:55 麒麟 阅读(1154) | 评论(1) | 编辑
     摘要: 微软在技术上有一个战略:用WF工作流来处理逻辑,WCF 处理通讯,WPF/Silverlight 和ASP.NET 处理表现层,画一张图的话应该是这样的: 下面收集了一些老外WF4.0的博客,放在这个供大家参考。有点崇洋媚外,不过国外的技术强,咋们是不得不承认滴。1、Matt Winkler [MSFT] 2、Ron Jakobs [MSFT]3、The Activity Designer [MS...  阅读全文
posted @ 2010-06-17 13:59 麒麟 阅读(644) | 评论(4) | 编辑
     摘要: 前面三篇文章中,我实现了音频聊天室的部分功能,包括:文字聊天,共享白板,语音聊天。这篇文章我将叙述一下视频会话实现的技术要点。 在Silerlight4中已经集成了摄像和采集声音的功能,但是在WPF4中却没有直接可以用的的控件,由此也可以看出,由桌面程序走向web程序的大趋势。如果你想用Silverlight实现类似的音频聊天室,下面我列出一些资料供你参考。 1、 Your First Step ...  阅读全文
posted @ 2010-06-13 15:13 麒麟 阅读(2131) | 评论(17) | 编辑
     摘要: 前一篇文章中实现了文字聊天和共享白板的功能,这篇文章中,我将在前一篇文章的基础上实现语音聊天的功能。语音聊天要比文字聊天和共享白板难度要大一点。 实现的大概的流程为: 1、一个聊天室成员向另外一个成员发起语音聊天请求 2、这个请求将被送至WCF服务端,WCF的双工通知被邀请人。 3、被邀请人接到通知,他可以选择接受或者拒绝语音聊天的请求。 4、如果拒绝,将通知请求者拒绝语音聊天 5、如果同意,邀请...  阅读全文
posted @ 2010-06-08 00:00 麒麟 阅读(1790) | 评论(13) | 编辑
     摘要: 这篇文章将讲述实现WPF的UI和WCF中的双工通信。实现文字部分的聊天功能和实现共享白板的功能。 画WPF的界面其实是一件麻烦的事情。虽然WPF和WindowsForm一样,能将控件拖到哪,它就在哪。我们在开发asp.net项目的时候用从原始的table布局,到现在流行的div+css布局。这些都需要设计人员的仔细设计。这个程序的布局我采用Grid和StackPanel两种方式。Gird类似htm...  阅读全文
posted @ 2010-06-06 10:33 麒麟 阅读(2491) | 评论(18) | 编辑
     摘要:     前几天在老徐的MSN群中聊WCF。我突然想到了用WPF和WCF来打造音频聊天室这么一个轮子。其实是这样的,我在的公司是两岸三地合作开发的。两岸是指大陆和台湾,三地是指深圳、台北、高雄。由于公司很小,所以一切都要节约成本,当然特别是我们深圳的开发团队,目前只有3个人,其中两个开发人员,一个Leader。现在我们两岸三地之间的沟通就是使用skype的,因为貌似其他...  阅读全文
posted @ 2010-06-05 19:37 麒麟 阅读(2340) | 评论(17) | 编辑
     摘要: Windows Server AppFabric的服务器系统是一款主要面向私有云计算的系统。它将作为微软日后进军私有云市场的一个关键性产品,可以允许用户创建和维持他们自己的云计算系统架构。 这篇文章将对微软的服务器系统Windows Server AppFabric进行一个简单的介绍,然后给实现一个将WCF宿主到Windows Server AppFabric上的一个实例。 Windows Se...  阅读全文
posted @ 2010-06-01 21:01 麒麟 阅读(1736) | 评论(15) | 编辑
     摘要:     今天在Codeproject看见这个Visual Studio版本转换的工具,觉得很不错,分享一下给大家,希望对你有所帮助。作者是:CodeBureau - Matt Simner,原地址是:SolutionConverter 。     本博下载可执行程序:http://files.cnblogs.com/zhuqil/Sol...  阅读全文
posted @ 2010-05-31 18:59 麒麟 阅读(1166) | 评论(9) | 编辑
     摘要: Silverlight+WCF+WF+Linq的一个简单示例,想了解如何结合这些新技术的童鞋进来看看吧。如果还行,别忘记推荐哈。  阅读全文
posted @ 2010-05-27 20:42 麒麟 阅读(2726) | 评论(9) | 编辑
     摘要: 概述: 大多数.net程序员都熟悉:浏览器向iis服务器发送一个请求,会发生一些什么事情。今天,我将使用WF+WCF模拟一下整个处理过程。当然这里只是模拟,与实际还是有差距的,如果叙述的有问题,请指出。主要是为了说明:用流程的视觉去看待asp.net请求处理过程,你会发现它其实不难。好了,还是照旧,先看效果,在说如何实现,最后总结,附代码下载。 对于一个来自客户端的请求,我将iis的处理总结为两...  阅读全文
posted @ 2010-05-25 23:32 麒麟 阅读(1318) | 评论(5) | 编辑
     摘要: 概述篇 用WF4.0实现自动访问’机器人’,听起来有点不可思议。还是老方式,看效果,在讲述一下如何实现,最后总结,附代码下载。 这篇文章用这个’机器人’玩转了一回博客园。包括:机器人登录,机器人回帖,机器人推荐文章,机器人定时回帖,机器人定时推荐文章。 这篇文章中,我为大家准备了4个流程。第一个流程,google搜索 这个流程很简单,启动流程Work...  阅读全文
posted @ 2010-05-21 19:34 麒麟 阅读(1851) | 评论(8) | 编辑
     摘要: 在前一篇中,使用工作流设计器设计一个相当简单的工作流。现在,我们将使用编码的方式实现与前一篇相同的工作流。任何一个流程既可以用代码实现也可以用工作流设计器去实现。选择哪种方式是仁者见仁智者见智的问题。但是使用编码的方式去实现有利于更好的了解流程是如何运作的。创建一个控制台应用程序 启动VS,创建一个简单的控制台应用程序(请注意这里没有使用workflow的模板),如图2-1所示。 图2-1.创建一...  阅读全文
posted @ 2010-05-19 21:39 麒麟 阅读(1258) | 评论(6) | 编辑
     摘要: 概述:    在我眼里,每天马路上的红绿灯闪呀闪的,也是一个流程,这个流程是一个反复的流程。这个流程算从红灯开始吧,然后是黄灯,然后是绿灯,然后又是黄灯,接着回到红灯。这个流程是反复的。黄灯是个过度,时间相对较短,红灯和绿灯时间较长,所以,很多人称交通灯为红绿灯,而不是红黄绿灯。这个例子使用WPF和WF模拟交通灯的功能。主要为了说明WPF和WF是如何交互的。先看效果,在讲述一...  阅读全文
posted @ 2010-05-18 15:56 麒麟 阅读(1609) | 评论(5) | 编辑
     摘要: WPF、WCF、WF打造Hello World程序是什么样的呢,进来看看吧。:)  阅读全文
posted @ 2010-05-14 08:51 麒麟 阅读(3965) | 评论(31) | 编辑
     摘要:     让我们以创建一个简单的工作流开始。开启Visual Studio (VS) 2010,选择New Project。在已经安装的模版下面,选择Visual C#-Workflow,你会看到提供了四个模版。     选择Workflow Console Application,如图1-1,输入名字Chapter01。为这个解决方案选...  阅读全文
posted @ 2010-05-13 11:41 麒麟 阅读(1701) | 评论(8) | 编辑
     摘要: Beginning WF: Windows Workflow in .NET 4.0   阅读全文
posted @ 2010-05-12 13:49 麒麟 阅读(651) | 评论(12) | 编辑
     摘要: 我是ASP.NET MVC的新手,看了ASP.NET MVC和jQuery系列的几篇文章感觉不错,分享给大家,如果翻译的有问题请指出,谢谢。 原文连接:http://www.codeproject.com/Articles/74338/ASP-NET-MVC-and-jQuery-Part-1-Getting-Started.aspx -----------------------------...  阅读全文
posted @ 2010-05-11 19:42 麒麟 阅读(1262) | 评论(2) | 编辑
     摘要:     大家都知道,一般能使用WCF的Callback Contract能实现聊天室。这篇文章我将使用WF4.0是实现我的伤心聊天室。先看效果,再讲如何实现和使用WF4.0的优势,最后总结。界面很简洁,请见谅。 效果篇:     首先启动StartAChatRoom项目,开启伤心聊天室如下图: 登录: 聊天主界面: 上图的左边有一个复...  阅读全文
posted @ 2010-05-10 19:48 麒麟 阅读(2001) | 评论(9) | 编辑
     摘要: 有网友问如何在web中使用WF。今天我将实现一个完整的示例。这个示例将包括WF4.0的大部分知识点。包括: 1、持久化服务 2、跟踪服务 3、自定义扩展 4、WCF Workflow Service 5、WorkflowServiceHost 6、使用Interop活动去调用WF3.0工作流程 效果:     我先描述一下这个示例的功能,然后演示一下这个...  阅读全文
posted @ 2010-05-08 16:57 麒麟 阅读(1805) | 评论(11) | 编辑
     摘要: 题目:一个整数数列,元素取值可能是0—65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。 请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。 注意: 1、5个数值允许是乱序的。比如: 8 7 5 0 6; 2、0可以通配任意数值。比如:8 7 5 0 6 中的0可以通配成9或者4; 3、0可以多次出现; 4、复杂度如果是O(n2)则不得分...  阅读全文
posted @ 2010-05-07 18:34 麒麟 阅读(1762) | 评论(11) | 编辑
     摘要: A.逻辑推理 1、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段 ,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你 的工人付费?  2、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。   3、小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒, 小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每 次此...  阅读全文
posted @ 2010-05-05 16:53 麒麟 阅读(390) | 评论(5) | 编辑
     摘要:     随着多核计算机变得越来越普遍,令人烦恼的是循环不能利用这些多余的内核资源。不过幸运的是微软的帅哥靓女为我们解决了这种困惑,他们已采取措施使我们循环可以利用这些额外的内核资源。我将展示一个代码示例,演示.NET 4.0中的一个新的功能叫做Task Parallel Library。有了这个库,可以非常容易编写托管语言来使用多内核。这样我们就可以编写并行任务的代码...  阅读全文
posted @ 2010-05-04 10:13 麒麟 阅读(2760) | 评论(12) | 编辑
     摘要: ASP.NET MVC2.0结合WF4.0实现多步注册功能  阅读全文
posted @ 2010-05-02 23:02 麒麟 阅读(1788) | 评论(12) | 编辑
     摘要:     在工作流开发中,邮件通知是必不可少。这篇文章中,我将是使用WF4.0一步一步打造一个功能完整的邮件通知节点。     首先,新建一个WorkflowConsoleApplication项目,改名为MailNoticeDemo,如下图:     添加一个CodeActivity活动命名为MailNot...  阅读全文
posted @ 2010-04-29 12:48 麒麟 阅读(1871) | 评论(10) | 编辑