wcf事务(随记)】的更多相关文章

----------------------------------------------------wcf事务:1.ACID:原子性.一致性.隔离性.持久性:2.事务:添加命名空间(using System.Transactions;)using (TransactionScope ts = new TransactionScope())            {                //操作                ts.Complete();            }--…
事务处理在WCF(Windows Communication Foundation)是一套遵循一些性质,统称为ACID的操作.这里,如果一个操作出现故障,整个系统就会自动失败.如网上订单生成,就可能使用事务.下面的例子可以帮助理解事务的过程中更简单的术语. 例子 假设一台液晶电视是您从在线商店订购,你会通过信用卡支付的金额.当输入必要的信息来下订单,同时出现两个操作.一个特定的量被从您的银行账户中扣除,第二是供应商贷记相同.两个操作必须以有一个成功的事务成功执行. WCF事务属性 WCF事务有以…
今天我们继续学习WCF分布式开发步步为赢系列的12节:WCF事务机制(Transaction)和分布式事务编程.众所周知,应用系统开发过程中,事务是一个重要的概念.它是保证数据与服务可靠性的重要机制. 作为面向服务应用的开发平台,WCF也提供了对事物编程模型的支持..NET 2.0提供的System.Transactions类来开发事务应用程序.同样WCF也支持事务特性,WCF事务机制是什么,它与微软已有的技术如Microsoft 分布式事务协调器 (MSDTC)有何关系?与Enterpise…
在B2B的项目中,一般用户注册后,就有一个属于自己的店铺,此时,我们就要插入两张表, User和Shop表. 当然,要么插入成功,要么全失败. 第一步: 首先看一下项目的结构图: 第二步: 准备工作,我们新建Commerce数据库,用EF去映射,然后新建ServiceWCF类库,具体步骤就省略, 这一块不懂可以留言. 第三步:新建一个Model类库.建立两个实体类Shop和User,当然自定义类型在WCF中传输, 必须在类上加上[DataContract],属性上加[DataMember]. S…
wcf服务 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; namespace MyWcfService { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中…
1.wcf契约分为:服务契约,操作契约,消息契约.数据契约 -------------------服务契约: [ServiceContract( Name = "name_IUser", Namespace = "http://localhost:3232/wpf/aa")] 配置元数据交换 <endpoint address="mex" binding="mexHttpBinding"  contract="…
WCF学习笔记之事务编程 一:WCF事务设置 事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元: WCF通过System.ServiceModel.TransactionFlowAttribute特性定义在契约的相应操作方法上: TransctionFlowOption三个选项:NotAllowed.Allowed.Mandatory不同的事务流转策略: 1:NotAllowed(默认) 客户端的事务不会允许被流转到服务端,服务端也不会试图去接收流入的事务: 2:Allowe…
说到事务,我最先想到的是“回滚”. 百科:事务是恢复和并发控制的基本单位.事务应该具有4个属性:原子性.一致性.隔离性.持久性.这四个属性通常称为ACID特性.好了,具体的就不多复制了. 我小试了一下,感觉跟以前写SQL的事务没什么差别(估计是我道行不够深). WCF的ServiceModel中的以下三个属性提供用于对WCF事务的行为进行配置: TransactionFlowAttribute:指定服务协定是否接受事务,通过TransactionFlowOption的枚举类型初始化实例,枚举有三…
引言 WCF是微软为了实现SOA的框架,它是对微乳之前多种分布式技术的继承和扩展,这些技术包括Enterprise Service..NET Remoting.XML Web Service.MSMQ等.WCF推出的原因在于:微软想将不同的分布式技术整合起来,提供一个统一的编程模型,这样对于开发者来说绝对是好事.在过去的2个月时间内,我陆续写了WCF系列文章,这些文章只是自己这段时间学习WCF内容的一个学习过程和笔记,希望通过这种写博文的方式记录下来和总结.本系列并没有对WCF机制做一个深入解析…
一.引言 好久没更新,总感觉自己欠了什么一样的,所以今天迫不及待地来更新了,因为后面还有好几个系列准备些,还有很多东西需要学习总结的.今天就来介绍下WCF对事务的支持. 二.WCF事务详解 2.1 事务概念与属性 首先,大家在学习数据库的时候就已经接触到事务这个概念了.所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单元.例如,银行转账功能,这个功能涉及两个逻辑操作 从一个账户A中扣钱 另一个账户B增加对应的钱. 现实生活中,这两个操作需要要么都执行,要么都不…
引言 其实事务在数据层.服务层.业务逻辑层多处地方都会使用到,在本篇文章将会为大家一一细说. 其中前面四节是事务的基础,后面的三节是事务的重点,对事务有基础的朋友可以跳过前面四节. 文章有错漏的地方欢迎各位点评. 目录 一.事务的定义 二.事务管理器 三.在ADO.NET中实现事务 四.隐式事务 TransactionScope 五.在WCF中实现事务 六.嵌套式事务 七.异步事务 一.事务的定义 所谓事务,它是一个操作集合,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.典型的例…
转自:风尘浪子 - 博客园 引言 其实事务在数据层.服务层.业务逻辑层多处地方都会使用到,在本篇文章将会为大家一一细说. 其中前面四节是事务的基础,后面的三节是事务的重点,对事务有基础的朋友可以跳过前面四节. 文章有错漏的地方欢迎各位点评. 目录 一.事务的定义 二.事务管理器 三.在ADO.NET中实现事务 四.隐式事务 TransactionScope 五.在WCF中实现事务 六.嵌套式事务 七.异步事务 一.事务的定义 所谓事务,它是一个操作集合,这些操作要么都执行,要么都不执行,它是一个…
笔记体会: 1.innodb支持RC和RR隔离级别实现是用的一致性视图(consistent read view) 2.事务在启动时会拍一个快照,这个快照是基于整个库的.基于整个库的意思就是说一个事务内,整个库的修改对于该事务都是不可见的(对于快照读的情况)如果在事务内select t表,另外的事务执行了DDL t表,根据发生时间,要嘛锁住要嘛报错(参考第六章) 3.事务是如何实现的MVCC呢?(1)每个事务都有一个事务ID,叫做transaction id(严格递增)(2)事务在启动时,找到已…
一.引言 今天来介绍下WCF对事务的支持. 二.WCF事务详解 2.1 事务概念与属性 首先,大家在学习数据库的时候就已经接触到事务这个概念了.所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单元.例如,银行转账功能,这个功能涉及两个逻辑操作 从一个账户A中扣钱 另一个账户B增加对应的钱. 现实生活中,这两个操作需要要么都执行,要么都不执行.所以在实现转账功能时,这两个操作就可以作为一个事务来进行提交,这样才能够保证转账功能的正确执行. 上面通过银行转账的例子…
经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?本文就帮大家梳理一下. MySQL 事务 本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的. 数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作,有点一不做二不休的意思. 假设一个网购付款的操作,用户付款后要涉及到订单状态更新.扣库…
Zookeeper内存结构 Zookeeper是怎么存储数据的,什么机制保证集群中数据是一致性,在网络异常,当机以及停电等异常情况下恢复数据的,我们知道数据库给我们提供了这些功能,其实zookeeper也实现了类似数据库的功能. 1.      Zookeeper内存结构 Zookeeper数据在内存中的结构类似于linux的目录结构 DataTree代表这个目录结构, DataNode代表一个节点 DataTree: 默认初始化三目录 )"" ) "/zookeeper&q…
公司一直使用YourSQLDba做本地备份,磁带机将本地备份文件上带做异地容灾备份.近期整理.验证备份时发现本地备份目录命名五花八门 其中有历史原因,也有无规划化的缘故,看着这些五花八门的目录,越看越不顺眼.于是想统一规范化.备份目录统一为DB_BACKUP,完整备份位于FULL_BACKUP子目录,事务日志备份位于LOG_BACKUP子目录下.例如如下所示: 完整备份目录    :G:\DB_BACKUP\FULL_BACKUP\ 事务日志备份目录:G:\DB_BACKUP\LOG_BACKU…
这部分将介绍一些相对深入的知识点,包括通过并发限流来保证服务的可用性,通过可靠会话机制保证会话信息的可靠性,通过队列服务来解耦客户端和服务端,提高系统的可服务数量并可以起到削峰的作用,最后还会对之前的事务知识做一定补充. 对于WCF服务来说,其寄宿在一个资源有限的环境中,为了实现服务性能最大化,需要提高其吞吐量即服务的并发性.然而在不进行流量控制的情况下,并发量过多,会使整个服务由于资源耗尽而崩溃.因此为相对平衡的并发数和系统可用性,需要设计一个闸门(Throttling)控制并发的数量. 由于…
主库A执行完成一个事务, 写入binlog ,记为 T1 然后传给从库B,从库B 接收该binlog ,记为 T2 从库B执行完成这个事务,记为 T3 同步延时: T3-T1 同一个事务,在 从库执行完成的时间 和 主库执行完成的时间 之间的差值 SHOW SLAVE STATUS 中的 Seconds_Behind_Master MySQL -- 主从复制的可靠性与可用性 Seconds_Behind_Master 计算方法 每个事务的 binlog 里面都有一个 时间字段 ,用于记录该 bi…
本文属于原创作品,转载请注明出处并放于明显位置,原文地址:http://www.cnblogs.com/albert1017/p/3849585.html 前言 在学习Android的Binder机制时,看了http://blog.csdn.net/universus/article/details/6211589这篇文章(读本文前最好读一下),觉得写得非常棒,可惜只有设计篇,都几年了还没有实现篇,就想尝试完成这个工作,虽然可能没有universus写得那么好,但也希望能对同在学习Android…
Zookeeper快照文件和事物操作文件以文件的形式存储在硬盘上,以快照文件为主,日志文件为辅.因为当对内存数据进行变更的时候,会保证将事务操作记入log日志,而snapshot只是内存某一个时刻影像,为了性能takeSnapshot生成snapshot并不是实时的,而是由后台线程根据一定规则处理的.详细可参考上一篇文章. 快照文件和事物操作文件在磁盘上如下所示: -rw-rw-r-- 1 ysl ysl 67108880 10月 23 17:43 log.1 -rw-rw-r-- 1 ysl…
Oracle服务器是一种对象关系数据库管理系统,它为信息管理提供开放.综合.集成的方法. Oracle服务器中有多种进进程.内存结构和文件: Oracle服务器由一个Oracle实例和一个Oracle数据库组成. Oracle服务器:Oracle实例+Oracle数据库 Oracle实例:后台进程+内存结构 (必须启动实例才能访问数据库中的数据,每次启动实例,都会分配系统全局去SGA并启动Oracle后台进程) SGA是用于村粗数据库信息的内存区,该信息为数据库进程所共享. 后台进程代表调用进程…
Jim Gray - Transaction processing: concepts and techniqueshttp://research.microsoft.com/~gray/ 事务概念 事务定义- 事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位. 事务特性(ACID)* 原子性(Atomicity)事务中包含的所有操作要么全做,要么全不做,原子性由恢复机制实现. * 一致性(Consistency)事务的隔离执行必须保证数据库的一致…
一.今日内容概要 我在第 3 篇文章和你讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事务 T 看到的仍然跟在启动时看到的一样.也就是说,一个在可重复读隔离级别下执行的事务,好像与世无争,不受外界影响. 但是,我在上一篇文章中,和你分享行锁的时候又提到,一个事务要更新一行,如果刚好有另外一个事务拥有这一行的行锁,它又不能这么超然了,会被锁住,进入等待状态.问题是,既然进入了等待状态,那…
注册Service Service组件运行在Server进程中,首先要将Service注册到Service Manager中,再启动一个Binder线程池来等待和处理Client的通信请求. 注册过程(addService)核心工作:在服务所在进程创建binder_node,在ServiceManager进程创建binder_ref. 以Media服务为例,注册的过程涉及到MediaPlayerService(作为Client进程)和Service Manager(作为Service进程),通信…
1.innodb支持RC和RR隔离级别实现是用的一致性视图(consistent read view) 2.事务在启动时会拍一个快照,这个快照是基于整个库的. 基于整个库的意思就是说一个事务内,整个库的修改对于该事务都是不可见的(对于快照读的情况) 如果在事务内select t表,另外的事务执行了DDL t表,根据发生时间,要嘛锁住要嘛报错(参考第六章) 3.事务是如何实现的MVCC呢? (1)每个事务都有一个事务ID,叫做transaction id(严格递增) (2)事务在启动时,找到已提交…
一.投票与提交 虽然WCF负责事务传播及两阶段提交协议的管理工作,但是 她不知道事务是否应该提交或终止.这需要根服务告诉WCF应该何时启动两阶段提交协议.是提交还是终止.WCF提供了两种编程模式来对事务的结果进行投票,即声明式和显式模式. 声明式投票 WCF可以代替服务自动完成提交或终止事务的投票.自动投票是通过OpreationBehavior的TransactionAutoComplete属性来控制的. TransactionAutoComplete属性的默认值为true,可以如下使用: /…
一.设置环境事务 默认情况下,服务类和操作没有环境事务,即使客户端事务传播到服务端也是如此. 尽管强制事务流从客户端传播过来,但服务端的环境事务依旧为null.为了启用环境事务,每个操作必须告诉WCF启用事务.为了解决这个问题,WCF提供了OperationBehaviorAttribute的TransactionScopeRequired属性: // 指定服务方法的本地执行行为.[AttributeUsage(AttributeTargets.Method)]public sealed cla…
一.事务传播概述 WCF可以跨越服务边界传递事务.这可以让服务参与到客户端事务里,客户端还可以在同一个事务里调用多个服务.客户端本身不一定是WCF服务.客户端事务是否传播到服务端可以通过绑定和操作契约契约的设置来控制. 我们把能够支持客户端事务传播给服务端的绑定称为"事务感知"型绑定. 只有TCP.IPC和WS绑定支持事务传播. 二.事务流与绑定 默认情况下,事务感知型绑定并不会传播事务.服务宿主或管理员必须明确设置服务接收进入的跨越组织或业务边界的事务. 为了支持事务传播.就必须在服…
一.事务协议 总体来说,WCF开发人员不需要涉及事务协议与管理器.我们应该依赖WCF来选择相应的事务协议和管理器,重点关注业务逻辑的实现. WCF是根据事务范围里的参与个体来选择事务管理协议的.事务管理协议之间的差别与远程调用.通行协议,以及跨越的系统边界有关. 可选择的管理协议如下: 轻量级事务协议 这个协议只在本地同一个应用程序域内的上下文环境里管理事务,他不能跨越应用程序边界来传播事务(更不能跨越进程或机器边界了),也不能跨越服务边界(从客户端到服务段).轻量级协议只能在单个服务内部或同一…