Fork me on GitHub

2011年3月10日

摘要: 在 .NET Framework 2.0中增加了System.Transactions,这是一种新的命名空间,完全专注于控制事务性行为。引入了执行事务性工作的更简单方法及一些新的性能优化。ystem.Transactions提供了一个“轻量级”的、易于使用的Transaction框架。在上节中,要实现Transaction需要利用EnterpriseServices,让组件从 ServiceComponent继承下来。 而通过 System.Transactions, 则只要简单的几行代码,不需要继承,不需要 Attribute标记。用户根本不需要考虑是简单事务还是分布式事务。新模型会自动根据 阅读全文
posted @ 2011-03-10 13:44 HackerVirus 阅读(310) 评论(0) 推荐(0)
摘要: MVP :http://www.cnblogs.com/team/mvp/ 阅读全文
posted @ 2011-03-10 12:09 HackerVirus 阅读(195) 评论(0) 推荐(0)
摘要: 一. 架构师?1.1 架构设计涉及范围图 如图所示架构设计说涉及到的范围,首先是对架构支撑的底层平台选择,目前业界流行和通用的就是.Net平台和Java平台(J2EE);然后在平台支持之上做技术相关架构设计(主要会采用面向对象OO,面向方面编程AOP以及面向服务架构设计SOA等思想),在SOA推广上IBM和SUN两家公司尤为突出;在业务不断的变化中、架构的更新中,找到变化中不变的东西,并针对服务、架构制定一系列规范对架构进行有效的管理和成为架构设计的原则;当然,最上层就是善变的业务架构层。1.2 一个优秀的架构师需要了解的知识操作系统OS:能对操作系统内核有很好的了解和认识,从中吸取设计理念; 阅读全文
posted @ 2011-03-10 11:16 HackerVirus 阅读(426) 评论(0) 推荐(0)
摘要: 1. 编写Com+组件在建立C#工程之后必须要给类一个强名称. 要创建强名称,可以使用 sn 工具.此命令行工具有许多选项,在命令提示符处键入 sn /? 可以查看所有选项.对程序集签名所需的选项是“-k”,它将创建一个密钥文件.默认情况下,该文件使用 .snk 作为扩展名.例如,要创建一个名为 MyCom.snk 的密钥文件,可以使用以下命令行:sn -k MyCom.snk然后在工程中引用这个强名称方法如下:( 1 ):注释掉AssemblyInfo.cs中的[assembly:AssemblyKeyFile( "" )]和[assembly:AssemblyKeyNa 阅读全文
posted @ 2011-03-10 11:15 HackerVirus 阅读(523) 评论(0) 推荐(0)
摘要: 一直以来对设计模式,怎么写出高质量、高效、可移植性强的理解不深。也许经验不足是一个很大的原因吧。今天花了很久的时间整理了一个数据库操作类库(简化版),希望能得到各位前辈的指点。首先,我定义了一个数据库操作接口IDbOperator,该接口实现IDisposable接口,用于操作结束后释放各种资源。类图如下:属性:ConnectString用于获取数据库连接字符串DbConn用于获取当前数据库连接(IDbConnection接口)方法:Open():打开数据库连接Close():关闭数据库连接GetCommand():获取当前数据源,返回IDbCommandGetDataSet():获取数据集, 阅读全文
posted @ 2011-03-10 11:08 HackerVirus 阅读(437) 评论(0) 推荐(0)
摘要: 之前听同事说起C#.NET在2.0的时候就有一个“事务池”的东西,今天抽空在网上找了一下,接着翻一翻MSDN,发现了这个类——TransactionScope,字面上理解是叫“事务范围”,这个听起来比较农,在网上看到的一个比较好听的叫法是“分布式事务”,比较给力! 之所以去了解这个类,是因为之前一直在想一个关于三层结构的问题,思考如下:理论上DAL(数据访问层)要做的事情就是提供对数据的原子操作,例如添加一个用户(往一张记录用户信息的表中插入一行数据,或者在某个xml文件中加入一个节点)、删除一个用户、删除一个用户组中的所有用户等等...,而BLL(业务逻辑层)中要做的事情就是调用DAL层的代 阅读全文
posted @ 2011-03-10 10:08 HackerVirus 阅读(1608) 评论(1) 推荐(1)

2011年3月9日

摘要: 在线支付平台设计之Order.do (中)摘要: 上节“在线支付平台设计之Order.do (上)”中,我对Order.do的设计思想进行了初步分析,我也觉得对于Order.do来讲我谈到的内容还是很少,毕竟我的最终的目标还是希望大家能够通过我谈到到这些内容能设计一个简单的支付接口。 因为上节已经谈到Order.do的设计思想,所以这节我主要谈怎么实现,原理部分我就不在这里赘述了。 一:为什么是Order.do? 谈到Order.do,其实asp...阅读全文posted @2009-01-10 01:53Kevin Zhou 阅读(206) |评论 (1)编辑在线支付平台设计之Order.d 阅读全文
posted @ 2011-03-09 17:15 HackerVirus 阅读(359) 评论(0) 推荐(0)
摘要: 遇到此问题先需确认几个问题:1)MS DTC是否设置正确?2)是否启用了防火墙?是否对DTC做了例外?3)是否做了hosts映射?是否跨网域通信?开发分布式事务,碰到一个错误“与基础事务管理器的通信失败”,去百度了一下,发现问这个问题的人甚多,但是能解决的却很少了,而且所提供的方法无法解决问题。没有办法,我只有转移到Google去搜索E文的。最后发现了三篇“有里程碑性质的文章”:http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/08.aspxhttp://blog.darkthread.net/blogs/darkthread 阅读全文
posted @ 2011-03-09 16:21 HackerVirus 阅读(829) 评论(0) 推荐(0)
摘要: win2003缺省禁用远程/网络事务,启用的步骤如下: 启用网络 DTC 访问的步骤 1. 单击“开始”,指向“控制面板”,然后单击“添加/删除程序”。 2. 单击“添加/删除 Windows 组件”。 3. 选择“应用程序服务器”,然后单击“详细信息”。 4. 选择“启用网络 DTC 访问”,然后单击“确定”。 5. 单击“下一步”。 6. 单击“完成”。 7. 停止分布式事务协调器服务,然后重新予以启动。 8. 停止参与分布式事务的任何资源管理器服务(如 Microsoft SQL Server 或 Microsoft Message Queue Server),然后重新予以启动。 解決這 阅读全文
posted @ 2011-03-09 14:48 HackerVirus 阅读(306) 评论(0) 推荐(0)
摘要: 当应用程序需要在多个数据库中进行事务性操作的时候,使用TransactionScope类可以方便地实现应用程序的这一需求。只要对多个数据库的操作代码位于同一个事务范围内,即可实现多数据库连接的事务操作。技术要点本示例主要说明了如何在程序中使用TransactionScope实现多数据库连接事务操作,技术要点如下。— 因为位于同一个事务范围内的不同的数据库操作,程序视为同一个事务,所以使用事务范围能够简便地实现多数据连接的事务操作。— 在事务范围内应调用且仅仅调用一次Complete方法,当事务范围的Complete方法调用时,事务范围中的数据操作尝试提交,提交失败时自动回滚,如果在事务范围内未 阅读全文
posted @ 2011-03-09 11:52 HackerVirus 阅读(167) 评论(0) 推荐(0)