大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> 用Microsoft.net实现数据库事务(一)

用Microsoft.net实现数据库事务(一)

时间: 2021-07-31 作者:daque

用microsoft.net实行数据库工作纲要:领会.net的pet shop 2企业本子是还好吗扶助企业处置本质中的交易题目,net pet shop考证了还好吗运用.net框架和visual studio.net来开拓最好的企业级体例。就如sun公司的java™ pet store j2ee™ blueprint application,它也是一个最好的体例实行。引见.net 宠物店步调开拓于2001年11月,它刻画了.net开拓者还好吗运用.net框架和visual studio.net开拓最好的体例。底下对于宠物店和从来的j2ee宠物店的计划波及了企业级体例的少许个性,如真实性和舒卷性。对于一个体例要安置成企业级,确定要商量它的安定性、真实性、可舒卷性、可处置性以及与已有的体例和数据举行共同的处事。往日本子的宠物店体例所展现出来的本钱上风、本能和开拓功效在.net平台上仍旧生存。正文经过刻画了.net扶助的其余的企业级需要,进而把宠物店的计划导向深刻。很多企业都有她们生存于各别体例中的散布的数据,比方存货数据在一个存货遏制体例中,而存户材料数据却在她们的crm体例中。咱们的体例须要处置那些各别数据库中的数据,而且保护数据的变动在那些体例中精确举行,要到达那些诉求,咱们须要跨数据库的工作处置。宠物店企业级本子是为了展现.net平台上的本领不妨很好的扶助那些企业级体例的个性。它在处置实际寰球中生存的数据保存上面供给了一个真实的、可舒卷的体例。宠物店企业级本子处置如许的少许景象,如存户数据生存于一个效劳器上的存户数据库体例中,而存户存单数据生存于物理上各别的效劳器上的一个各别的数据库体例中,如许的景象在很多组织中是一个一致的局面。为了保护存户数据和存户存单数据长久是精确的,须要一个包括这两个数据源的散布式体例。正文计划了在.net企业级体例中处置工作的各别体制,给出了每种体制的示例代码,计划了少许最好做法。正文中的代码是用c#写成的,但一切的本领和本领一律实用于vb.net.正文所计划的跨多个数据库的散布式工作对于一个体例来说早已被证明具备崇高的本能和舒卷性。这边还尝试了.net平台上的几种工作体制的本能,精细的陈列和刻画了它们的截止。从那些截止中,咱们不妨领会的看到.net从功效上和本能上都供给了特出的企业级工作扶助。正文还包括了宠物店的少许引见,它的初始框架结构和实行,以及为了扶助企业级个性对它的少许变换。还精细计划了各别的工作办法和她们的尝试本能截止图。请参见how sun microsystems' java pet store j2ee blueprint application was implemented using microsoft .net.假如的局面假如一个不妨在线定购宠物的电子商务企业,当你加入体例后,你不妨欣赏、查问从犬类到匍匐众生的百般典型的宠物。一个典范的宠物店体例囊括:l 网页 -当你翻开体例后载入的页面。l 类型欣赏 –高层有五种类型,每种类型底下都有几何产物。l 产物 –当体例内里的一个产物被选种时,产物的属性就被表露出来,典范的如公大概母。l 产物明细 –每种产物属性的精细证明,如像片、价钱和仓库储存数目。l 购物车 –承诺存户去保护一个购物车(减少、简略、革新数目)。l 校验 –只读地表露一个购物车消息。l 登录定向 –当用户在校验页面上采用连接的功夫,即使他还没有登录,则会定向到登录页面。l 考证登录 –当登录被考证后,就会转到断定卡消息和定购地方消息页面。l 确认存单 –存单和存户地方消息被表露出来等候确认。l 提交存单 –结果的一个办法,在这边存单被提交到数据库。宠物店的一个例子如图:图1:.net宠物店。net宠物店的总体论理框架结构如图:图2:.net宠物店论理框架结构有三个论理层:表白层、中央层、数据层,这三层不妨使各别特性的散布式体例举行明显的安置,论理层棉被服装成一个.net安装(用c#类库实行),对数据库的考察是用一个类来处置一切的与sql server managed provider的交互,用保存进程来存取数据,这个体例运用了.net实行了实足的论理上的三层框架结构,展现了.net平台上的最好试验。图3:.net宠物店体例的物理安置图步调框架结构图4是用来展现咱们的安排的精细图,咱们不妨看到宠物店每层的实行和交互详细图4:框架结构构想数据库数据库犹如下的表表名 证明account 基础的存户消息bannerdata 保存告白和口号消息category 类型消息 (如鱼类、犬类、猫类等).inventory 产物存货消息item 每个产物精细消息lineitem 存单明细orders 存户下的存单,一个存单包括一个或一个之上存单明细orderstatus 存单状况product 产物目次 ,每个产物包括一个大概一个之上属性,典范的属性如公母。profile 存户定制的消息signon 存户登录消息supplier 相关供给方消息表格1:数据库表名.net宠物店的工作实行原有的.net宠物店中order类的addorder本领所挪用的保存进程顶用到了数据库工作,这个挪用波及到了四个表的数据,须要设置acid属性。由于即使一个存单被创造,仓库储存数据须要被安排。保存进程运用了一个xml文书档案做参数,插入存单数据、存单明细,插入存单状况数据,革新存单里波及到的产物的仓库储存数据,咱们的目的是从简单数据库框架结构变为散布式数据库框架结构,也即是存户、产物和仓库储存数据生存一个数据库内里,存单生存于其余的一个数据库中。为了到达这个目的,咱们须要变化到一个企业效劳型框架结构,这是独一的一种不妨遏制散布式工作和供给两阶段的提交的体制。为了变化到企业效劳级,咱们须要参观几种景象的感化:l 引入企业效劳类库,然而用数据库工作/ado.net工作l 引入企业效劳类库,运用它来遏制工作l 引入企业效劳类库,运用它来遏制散布式工作为了实行散布式工作,咱们须要窜改addorder本领和数据库交互的办法,在简单的数据库景象下,咱们运用了一个保存进程;对于散布式,咱们须要变为两个保存进程,每个数据库一个,咱们认识到向来的保存进程在结果表之间用了贯穿,此刻那些表生存于各别的数据库中,以是咱们最佳仍旧把那些实行放到中央层中,用动静天生sql语句。为了表露引入企业效劳类库对于每个组件的感化,咱们安排了.net宠物店的几个本子:l 用首先的.net宠物店v1.5动作普通l 运用ado.net工作的.net宠物店l 运用企业效劳类库和ado.net工作(企业效劳的工作属性树立为”不扶助”)l 运用企业效劳的工作(工作属性在order组件被树立为”须要”,ado.net的工作去掉)l 运用企业效劳来处置散布式工作 散布式景象下的数据库安排图5:宠物店数据库模子图6:存单数据库模子.net的工作体制.net开拓者不妨运用四种体制:l 数据库工作l ado.net工作l asp.net工作l 企业效劳级工作每种体制在以次的几上面有各自的上风和劣势:本能、代码数目、安置树立。很多开拓者都很熟习数据库的工作,在这种景象下,中央层挪用数据库的保存进程,保存进程中发端一个工作,即使每个语句都实行胜利则提交,即使有缺点爆发时就会回滚。即使你的工作须要几个挪用,比方,你须要插入多个存单明细到一个表中,但不想用一个xml文书档案大概传播一个很长的字符串,那些都须要在保存进程中被领会,你不妨用ado.net工作体制。ado.net工作承诺你在暂时的贯穿上创造一个工作左右文,运转对数据库的屡次挪用,在结果大概提交大概回滚。asp.net工作是在web运用步调的页面层处事,你只有大略的在页面属性中加一个” transaction="required”,如许在页面中的事变处置都动作页面所有工作的一局部,任何处置展示缺点,则一切的处置都将回滚。企业效劳型组件经过资源处置器和散布工作遏制器(dtc)来实行工作,当asp.net,一个数据库的挪用大概工作中波及到的其余资源爆发缺点大概特殊时,所有工作将被回滚,企业效劳创造在com+本领的普通上去处置工作,熟习com+的开拓者该当领会企业效劳。该当被提到实行一个工作的那些各别办法之间大概是互斥的,即使你搀和运用数据库工作和企业效劳工作,你就会获得一个缺点,这是由于你会获得反复的提交,你在企业效劳中大概提交一个在数据库工作中仍旧提交了的工作,如许仍旧没有工作左右文来举行提交举措了。同样的题目如在数据库工作中提交了一个工作,但在企业效劳中却由于在体例中爆发特殊而回滚。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.