代码改变世界

为Office Communicator启用超链接

2008-08-01 16:31 by Windie Chai, 1917 阅读, 0 推荐, 收藏, 编辑
摘要:在Office Communicator中集成内部办公的话,很多情况下需要向用户发送一些信息的URL,但是默认情况下,用户收到的URL并不是一个可以点击的链接,而是一个在URL前添加了一个下划线的字符串,如:_http://xiaoshatian.cnblogs.com 为Office Communicator启用链接只需要两步:配置URL筛选和允许超链接。 阅读全文

《WF编程》系列之42 - 承载工作流:调度(Scheduling)服务

2008-07-29 13:09 by Windie Chai, 4020 阅读, 1 推荐, 收藏, 编辑
摘要:Windows Workflow Foundation中有两种调度服务:DefaultWorkflowSchedulerService和ManualWorkflowSchedulerService。 本文将为大家介绍这两种调度服务的区别,通过配置文件配置服务的方法,各自适合的场景。 阅读全文

状态机工作流的并行事件

2008-07-22 09:04 by Windie Chai, 6557 阅读, 0 推荐, 收藏, 编辑
摘要:在状态机工作流中,如何在接收并处理两个并行的事件呢?又如何在这两个事件都完成之后做进一步操作呢? 本文通过我的上一篇文章《MOSS多级审批工作流【StateMachine版】》来和大家分享我的一种方法。 阅读全文

MOSS多级审批工作流【StateMachine版】v1.1

2008-07-15 09:08 by Windie Chai, 9307 阅读, 0 推荐, 收藏, 编辑
摘要:去年我发布过一个MOSS多级审批工作流,采用顺序工作流模式开发;后来又做了一些改进,用ConditionedActivityGroupActivity取代了繁复的WhileActivity+IfElseActivity嵌套,但仍然是顺序工作流。 在第二篇文章的末尾我曾写道:“审批这样的流程并不适合用顺序工作流来实现,用WF的另外一种工作流-状态机工作流会更好”,前段时间终于又想起了这回事儿,抽空把这个工作流用状态机实现了,现在和大家分享一下开发心得。 阅读全文

【漫画】兔子,胡萝卜和屎

2008-06-30 01:11 by Windie Chai, 2449 阅读, 0 推荐, 收藏, 编辑
摘要:这张漫画出自一次例会,纯属无聊以及无心之作。 我的笔记本上首先出现的是前边的兔子,它顶着烈日疲累的前行。 而后,我为它增加了一点希望,就是那根胡萝卜。 美工MM不客气的在兔子身后画了一坨屎,这使得目前的情形有些搞笑。 我毫不犹豫的画了一只为自己差一点踩到屎而惊恐万分的兔子。这恰好和我刚到公司这一个月的工作暗合,修改离职员工遗留的bug,面对那些bug,我就是后面那只惊慌的兔子。 接着美工MM还继... 阅读全文

简单的Silverlight音乐播放器Widget

2008-06-26 09:33 by Windie Chai, 4429 阅读, 0 推荐, 收藏, 编辑
摘要:上周尝试了一下发布不久的Silverlight 2 beta2,设计了这么一个简单的播放器widget。它支持循环播放,支持自动播放,支持封面图片,支持暂停(鼠标移动到封面上就会淡入按钮)。 本来是想设计的稍微酷一点的,发现Silverlight2的矩阵变形能力还是相当弱的,其实现的功能也就是平移、平行四边形化和旋转,如果再支持梯形化就好了。 同时,也发现beta2相较之前版本的一些不同之处。 阅读全文

C#简单操作Lotus Notes邮件

2008-06-17 09:10 by Windie Chai, 15442 阅读, 2 推荐, 收藏, 编辑
摘要:前段时间简单的研究了一下.NET操作Lotus Notes邮件的实现,具体的操作包括邮件的读取和发送,而且都要包含附件,其间参考了《在 Microsoft .NET 应用程序中使用 IBM Lotus Domino》一文,现在把成果和大家分享一下。 本文将分为获取用户列表、发送邮件、收取邮件三个部分,并会在文末提供范例程序的下载。 阅读全文

Silverlight 2 打造饭否Show

2008-04-29 09:38 by Windie Chai, 4661 阅读, 0 推荐, 收藏, 编辑
摘要:在Silverlight 1.1的时候,我就像用Silverlight设计一个饭否Show,无奈1.1时代貌似只能通过Web Services来获取跨域的数据,我认为这是一种别扭的开发方式,再加上1.1对中文并不友好,所以就改用Flash实现了这个饭否Show。 Silverlight 2终于解决了上述的两个问题,支持跨域获取数据,支持中文显示,于是我迫不及待的尝试着开发了一个饭否Show(在Silverlight 2 beta SDK 发布的几日后开始开发,开发完成后便忘记了,-___-|||),下面来简要的分享一下开发过程,也望各位Silverlight前辈不吝指教。 阅读全文

《WF编程》系列之41 - 承载工作流:日志和配置文件

2008-04-21 09:37 by Windie Chai, 4758 阅读, 0 推荐, 收藏, 编辑
摘要:Windows Workflow 其实是一个Runtime,而不是应用程序。在启动工作流之前,宿主进程必须先加载并运行工作流Runtime。宿主进程告诉Runtime要创建什么类型的工作流,Runtime则负责管理工作流的生命周期并通知宿主进程重要的生命周期事件,比如工作流的完成和终结。Runtime并不挑剔它的宿主,宿主可以是台式机上的智能客户端应用程序,也可以是机架上的服务器中运行的ASP.NET进程。所有宿主进程需要做的只是加载.NET 3.0工作流程序集而已。 在本章中,我们将深入探讨Windows Workflow Runtime和它的服务。首先来认识一下日志(Logging)、跟踪(Trackng)和工作流Runtime的配置选项;接着是调度服务(Scheduling Services),调度服务为Runtime执行工作流提供了线程支持;然后是持久化服务,持久化服务允许我们将工作流状态信息保存到持久存储设备;最后,我们将介绍跟踪服务,跟踪服务允许我们监视工作流的执行过程。 阅读全文

我换马甲了,不知大家作何感想?

2008-04-17 01:21 by Windie Chai, 802 阅读, 0 推荐, 收藏, 编辑
摘要:“笑煞天”这个名字是10年前(感觉很老似的)申请QQ的时候绞尽脑汁想出来的。 毕业之后突然感觉这个名字太“彪悍”了,江湖味太重,就换了一个马甲“Windie Chai”,从此开始了两个ID交错使用的历史。 以为从此后朋友们就会开始犯迷糊:“到底哪个是你?哪个不是你?还是两个都……”,但没想到Choral兄居然可以把这两个马甲关联起来了,着实佩服,呵呵。 从今天起我在博客园的马甲就换成“Windie... 阅读全文

《WF编程》系列之40 - 自定义活动:活动的执行

2008-04-10 09:30 by Windie Chai, 6408 阅读, 0 推荐, 收藏, 编辑
摘要:在Windows Workflow中,一个活动有几种可能的状态?它们之间是如何转换的?如果我们编写自定义复合活动,该如何控制子活动的状态转换? 阅读全文

解决HTML内部元素的Mouse事件干扰

2008-03-28 12:10 by Windie Chai, 7837 阅读, 2 推荐, 收藏, 编辑
摘要:话说有一个DIV元素,其内部有一个IMG元素和SPAN元素,不用理会这两个内部元素怎么布局,这不是我要讨论的重点。 为了实现一些特殊的效果,我需要利用TD的onmouseover和onmouseout事件,测试时就会发现如下的状况: 当鼠标移入DIV内部时,onmouseover事件被触发;接着再鼠标移动到DIV内部的IMG或者SPAN元素之上,我们肯定不会认为这时鼠标已经移到了DIV的外边,但奇怪的是onmouseout事件触发了,而且紧接着onmouseover事件也马上被触发了。 这可不是我想要的,那么怎么来“屏蔽”内部元素给外层元素带来的Javascript事件干扰呢? 阅读全文

《WF编程》系列之39 - 自定义活动:继承法与活动组件

2008-03-18 09:33 by Windie Chai, 4063 阅读, 0 推荐, 收藏, 编辑
摘要:从根本上来说,采用组成法或继承法来创建自定义活动并没有太大的差别. 而且相对组成发来说,继承法更加容易理解. 在组成法中,我们关注于如何组织自定义活动内的子活动,并且创建了活动属性和执行模型. 而继承法是一种相对更加初级的方法,我们关注的更多的是活动本身所承载的功能. 让我们用继承法编写一个向控制台输出字符串的自定义活动,并为其添加验证器和友好的设计器外观吧. 阅读全文

《WF编程》笔记目录

2008-03-18 09:33 by Windie Chai, 28931 阅读, 3 推荐, 收藏, 编辑
摘要:WF笔记开始《WF编程》系列之0 - WF笔记开始电子版下载地址《WF编程》系列之附录 电子版下载地址1 Hello, Workflow1.1 创建工作流解决方案《WF编程》系列之1 - Hello,Workflow & 创建工作流解决方案 1.2 漫游工作流1.2.1 活动1.2.1.1 自定义活动《WF编程》系列之2 - 漫游工作流:活动与自定义活动1.2.2 Visual Studio 2005 扩展1.2.2.1 Windows Workflow 和 XAML1.2.2.2 WF 验证和调试1.2.2.3 设计器外观《WF编程》系列之3 - 漫游工作流:Visual Studi 阅读全文

《WF编程》系列之38 - 依赖属性

2008-01-30 10:19 by Windie Chai, 5706 阅读, 0 推荐, 收藏, 编辑
摘要:引进依赖属性的最终目标是什么? 依赖属性拥有什么功能? 怎样注册依赖属性? 什么时候应该选择依赖属性? 阅读全文

遮罩与动态文本框

2008-01-29 11:20 by Windie Chai, 1362 阅读, 0 推荐, 收藏, 编辑
摘要:今天在写一个Flash相册时遇到一个奇怪的问题,MovieClip中的动态文本框无论如何都不显示。通过trace语句可以确定该文本框是有值的,也就是说,这个动态文本框存在并且有值。 既然如此,为什么不显示呢?原来罪魁祸首就是:遮罩。 阅读全文

《WF编程》系列之37 - 打开黑盒子:属性升级

2008-01-10 09:36 by Windie Chai, 4347 阅读, 1 推荐, 收藏, 编辑
摘要:组合活动就像一个黑盒子,工作流设计器无法获取这个黑盒子内部的属性和事件,除非我们把这些属性和事件曝露给外部世界. 这时便需要利用属性升级(Property promotion),属性升级允许组合活动的设计者去决定属性对于外部世界的可见性. 阅读全文

Office 2007(Server and Clent)SP1 中文版发布

2007-12-12 10:10 by Windie Chai, 1328 阅读, 0 推荐, 收藏, 编辑
摘要:今早从Andrew Connell 的blog看到Office 2007全线产品的SP1已经发布了. 下面给出下载页面的地址. 阅读全文

《WF编程》系列之36 - 自定义活动:如何创建自定义活动?活动的组合

2007-12-07 09:56 by Windie Chai, 4568 阅读, 0 推荐, 收藏, 编辑
摘要:有两种方式可以创建自定义活动,即通过组合的方式和使用继承的方式. 组合是一种简单的创建工作流的方式.我们在设计器中拖拽并配置活动的属性,然后把这个自定义活动封装成一个程序集,这样就可以供其它工作流项目使用了.这种方式的优点是快速并且简单. 使用继承的方式来创建自定义活动,我们需要编写一个类,并使其继承Activity类.也可以继承自Activity的子类从而获得更多的功能.我们可以自定义活动的设计视图,验证,序列化和代码生成.继承的方式允许我们对自定义活动进行更深层次的控制,并且提供了使用自定义代码来扩展Windows Workflow的途径. 阅读全文

《WF编程》系列之附录 电子版下载地址

2007-12-06 10:15 by Windie Chai, 12072 阅读, 0 推荐, 收藏, 编辑
摘要:3月份开始读《Programming Windows Workflow Foundation: Practical WF Techniques and Examples using XAML and C#》一书并写《WF编程》笔记,拖拖拉拉写到现在,居然也翻译了全书的一半。 这期间和很多朋友通过评论、留言、Email和IM等方式(就差写信了)就编写WF程序中遇到的问题进行探讨,套用某新闻节目中经常使用的和谐的五个字:“友好的交流”。 ………………华丽的省略号……………… 阅读全文