代码改变世界

《WF编程》系列之20 - 触发事件与调用方法:宿主的实现

2007-07-17 09:38 by Windie Chai, 3815 阅读, 收藏, 编辑
摘要: 我们已经实现了服务合同,服务以及工作流,本节来实现这一范例的最后一块:宿主.阅读全文

《WF编程》系列之19 - 触发事件与调用方法:服务以及工作流的实现

2007-07-16 14:27 by Windie Chai, 4232 阅读, 收藏, 编辑
摘要: 上一节中我们已经实现了服务合同,这一节我们来实现具体的服务以及工作流.阅读全文

《WF编程》系列之18 - 触发事件与调用方法:服务合同 Service Contracts

2007-07-13 10:58 by Windie Chai, 4164 阅读, 收藏, 编辑
摘要: 许多开发人员想要建立一个更加正式的机制来方便和工作流交互.尽管使用Dictionary可以简单灵活的向工作流传递数据,但这种方法需要参数名称和伴随属性的严格匹配.而且我们只可以在工作流开始时使用参数向工作流传递数据,或在结束是获取数据.许多工作流需要在执行过程的不同时期和宿主交换数据.我们可以使用事件和方法调用来达到这个目的.这一节,我们来讨论数据传输通信的基本原理.
工作流和其宿主可以通过本地通信服务(LCS,local communication service)交换数据.LCS允许工作流和宿主之间的事件和方法调用.在后台,工作流Runtime和LCS一起工作来截取通信并提供附加服务(就像事件在排队直到工作流处于可以接受事件的状态).
阅读全文

[翻译]Web中的三层

2007-07-12 09:19 by Windie Chai, 1182 阅读, 收藏, 编辑
摘要: 不久之前,专业的网页设计师还在兴高采烈的将HTML,CSS和JavaScript代码掺杂到一个单独的文件中,命名为index.html,并称其为网页。今天你仍然可以这么做,不过要有心里准备去接受同行们比较没有礼貌的洗礼。

有一天,网页设计师们突然注意到这些混在一起的代码分别做了以下三件事请:

n 描述页面的内容。

n 指定内容的表现形式。

n 控制内容的行为。

接着他们实现了这三种类型代码的分离,这种做法让他们的工作更加轻松,并且让他们的网页在各种条件下更好的工作,即使用户的浏览器禁用了JavaScript。

这项原则被极客们叫做:分散关注。

阅读全文

《WF编程》系列之17 - 工作流与外部事件:工作流参数

2007-07-11 09:49 by Windie Chai, 3726 阅读, 收藏, 编辑
摘要: 如何向工作流传递参数?阅读全文

浅尝VML

2007-07-06 15:18 by Windie Chai, 1560 阅读, 收藏, 编辑
摘要: 我真是孤陋寡闻,前段时间才知道SVG,今天才知道VML.
尝试着写了下面两个对话框,代码也附在文末.
阅读全文

同步Outlook日历和Google日历

2007-07-04 15:58 by Windie Chai, 2225 阅读, 收藏, 编辑
摘要: 最近Google的地图和日历都增加了SMS功能,可以将地点信息和形成安排以短信的方式发送到手机上,个人认为这还是一个非常实用的功能.

工作需要,在公司里不得不使用Outlook(再次牢骚一下,Outlook还是Office 2007中最慢的软件),我又没有必要同时维护两个日历,于是搜寻到一款国外的免费插件:OggSync for Outlook.

此插件支持Outlook日历和Google日历的双向同步.

阅读全文

动态创建的TabContainer及其AutoPostBack

2007-06-25 18:18 by Windie Chai, 2485 阅读, 收藏, 编辑
摘要: 在Page_LoadComplete事件中动态创建的TabPanel每一次点击都会弹出这样的错误:

Specified argument was out of the range of valid values.

Parameter name: index
困扰了一段时间,终于找到了解决方法.

阅读全文

Ajax.net 1.0跨域访问错误的解决方法

2007-06-08 16:27 by Windie Chai, 1632 阅读, 收藏, 编辑
摘要: Ajax.net 1.0正式版发布已久,我在第一次尝试时却遇到跨域访问的问题,表现为在页面的任意位置单击鼠标左键都会弹出错误提示:"Access is denied",搜索了一番,找到了解决方法.阅读全文

SharePoint工作流开发点滴(5) - "启动时失败"的查错方法

2007-05-17 11:58 by Windie Chai, 2185 阅读, 收藏, 编辑
摘要: 很多朋友在使用Visual Studio开发工作流时都遇到过工作流"启动时失败"的错误,我把我遇到这种情况时的查错方法和大家分享一下,希望对大家有所帮助,也希望大家可以告诉我更好的方法. 首先在OnWorkflowActivated方法中设置断点来调试,检查断点是否可以成功暂停,如果可以,则可以再检查一下OnWorkflowActivated中的逻辑代码. 如果断点处不停止就出现了"启动时失败"...阅读全文

《WF编程》系列之16 - 工作流与外部世界:生存周期事件

2007-04-28 16:44 by Windie Chai, 4239 阅读, 收藏, 编辑
摘要: 对许多工作流来说,有一个重要的步骤是决定工作流与应用程序之间如何交互.我们如何得知工作流是否顺利完成?如何从运行中的工作流实例获取数据?如何获取已经完成的工作流的数据?这一节,我们来介绍一些解决这些问题的基本技术原理.

工作流的基本通信机制包括事件,方法和工作流参数.应用程序可以触发工作流实例的事件,也可以从工作流Runtime接收工作流实例的生存周期事件.首先我们来讨论一下工作流的生命周期事件.
阅读全文

《WF编程》系列之15 - 顺序工作流与SequenceActivity

2007-04-26 10:54 by Windie Chai, 5422 阅读, 收藏, 编辑
摘要: 简单的介绍一下顺序工作流与SequenceActivity.阅读全文

《WF编程》系列之14 - 工作流编写方式:结合代码与XAML

2007-04-25 12:18 by Windie Chai, 3757 阅读, 收藏, 编辑
摘要: Visual Studio还提供另外一种生成工作流的方式:代码分离与XAML标记结合的方式,即通常我们所说的code-beside.采用这种方式时,设计器会将工作流标记存储到一个XOML文件中,我们则可以在C#或Visual Basic源代码文件里扩充定义.阅读全文

《WF编程》系列之13 - XAML激活

2007-04-24 11:28 by Windie Chai, 3340 阅读, 收藏, 编辑
摘要: 通过XAML激活机制,我们可以使Runtime加载一个XAML文件来启动工作流.阅读全文

《WF编程》系列之12 - 编译工作流:XAML序列化

2007-04-23 16:23 by Windie Chai, 3653 阅读, 收藏, 编辑
摘要: 将工作流序列化为XAML阅读全文

推荐阅读:MOSS CSS深度分析

2007-04-18 10:19 by Windie Chai, 1408 阅读, 收藏, 编辑
摘要: 定制MOSS无可避免要定制Master Page,定制Master Page又无可避免的要修改CSS,MOSS页面中的具体区域对应于哪个CSS Style呢?Notmmao推荐给我一篇强悍的文章,细致的剖析了MOSS的CSS文件.文章地址:http://www.heathersolomon.com/content/sp07cssreference.htm或者下载我打包的PDF:http://fil...阅读全文

《WF编程》系列之11 - 编译工作流:使用MSBUILD

2007-04-16 15:52 by Windie Chai, 3425 阅读, 收藏, 编辑
摘要: MSBuild是.NET 2.0 Runtime中包含的基于XML的生成引擎.Visual Studio中所有的.csproj和.vbproj项目文件都可以看作是MSBuild文件. Visual Studio 2005生成项目的过程实际上是IDE使用MSBuild托管的线程来执行的.开发人员也可以直接从命令行使用MSBuild并传递参数.Windows Worklow在安装时已经将.xoml扩展名注册给了MSBuild.本节我们将使用MSBuild生成自定义活动和工作流到同一个程序集中,我们还是使用之前创建的XOML文件,然后创建一个MSBuild项目文件.

阅读全文

《WF编程》系列之10 - 编译工作流:使用WorkflowCompiler类

2007-04-11 10:58 by Windie Chai, 3365 阅读, 收藏, 编辑
摘要: 我们可以使用WorkflowCompiler类和WorkflowCompilerResults类以编程的方式来编译工作流定义并得到一个程序集.阅读全文

《WF编程》系列之9 - 编译工作流:使用WFC.EXE

2007-04-09 10:42 by Windie Chai, 4030 阅读, 收藏, 编辑
摘要: Windows Worfklow提供两种工作流编译方式,通过WorkflowCompiler类(位于System.Workflow.ComponentModel.Compiler名称空间)来编译,或者使用一个命令行编译工具(其实还是通过WorkflowCompiler类实现编译的).
WF的命令行编译器叫做wfc.exe.用它来编译工作流,我们需要传递一些参数给它.第一个参数是XOML文件的名称,假设我们的XAML叫做pureXAML.xoml.然后使用-out指令来传递编译后程序集的名称.如果有一些自定义活动是在另外的程序集中定义的,我们需要使用-r指令来引用这些程序集.
阅读全文

《WF编程》系列之8 - 工作流编写方式:纯XAML

2007-04-06 09:25 by Windie Chai, 5105 阅读, 收藏, 编辑
摘要: 采用纯定义的方式来编写工作流.阅读全文