02 2011 档案
摘要:最近在工作上碰到一个性能问题,由于项目是基于SOA的架构,使得整个系统完全依赖于各种各样的Service,其中用于处理业务逻辑的Business Services全部都用.NET Workflow 3.5实现(历史原因,项目还没升级到Workflow 4)。在众多的Business Service中,其中有一个的主要功能是,通过调用不同的Data Service来获取数据,然后根据业务逻辑来组织这些数据并返回给它的调用者。该Business Service的工作流(Workflow)主要包含三个活动组件(Activity),大致可以用下图表示:需要说明一下,在实际项目中,这个Workflow本
阅读全文
摘要:启动WCF服务 在TinyLibraryCQRS解决方案下,找到TinyLibrary.Services项目 右键单击CommandService.svc,然后选择View in Browser,这将启动ASP.NET Development Server 当ASP.NET Development Server成功启动,并在浏览器中打开了CommandService.svc后,将出现如下界面 使...
阅读全文
摘要:Apworks使用配置文件来启动整个系统。在上文中也能够看出,WCF服务在启动时,同时也启动了Apworks系统。所以,本节简要介绍这个WCF服务针对Apworks的相关配置节内容。 双击TinyLibrary.Services项目的web.config文件,根据下面的XML代码编辑该文件。 以上配置文件主要有两个configSection:apworksConfiguration和unityC...
阅读全文
摘要:到目前为止,我们还未涉及任何数据库的配置工作。本章节将简单介绍基于Apworks的应用程序的数据库配置。在SQL Server中(目前的Apworks版本仅支持SQL Server)创建两个数据库:TinyLibraryEventDB和TinyLibraryQueryDB,然后分别执行如下SQL脚本:TinyLibraryEventDBTinyLibraryQueryDB由于我们所使用的数据库系统是SQL Server,对于上面的TinyLibraryEventDB而言,它就是直接使用的Apworks应用开发框架中自带的SQL脚本。开发人员可以在Apworks的安装目录中找到该脚本文件。就关系
阅读全文
摘要:在本节,我们将介绍.NET WCF服务的创建过程。在Solution Explorer中,右键单击TinyLibraryCQRS,然后选择Add | New Project…菜单,这将打开Add New Project对话框在Installed Templates 选项卡下,选择Visual C# | WCF,然后选择WCF Service Application,确保所选.NET版本为.NET Framework 4,在Name文本框中输入TinyLibrary.Services,然后单击OK按钮右键单击TinyLibrary.Services的References节点,然后选
阅读全文
摘要:客户端程序通过命令告知系统“应该做什么”。事实上,这是一种单向的交互过程,客户端程序仅仅向领域模型发送命令请求,它们并不会通过领域模型来查询某些数据信息。在CQRS架构的应用程序中,“查询”是另一部分的内容,这将在接下来的章节中单独讨论。当应用服务器端接收到来自客户端的命令请求后,就会将这些命令推送到命令总线。命令处理器会侦听命令总线,并相应地处理命令请求。现在,让我们在TinyLibraryCQ...
阅读全文