1 概念:TransactionScope是.Net Framework 2.0后,新增了一个名称空间。它的用途是为数据库访问提供了一个“轻量级”[区别于:SqlTransaction]的事物。
2 使用:添加对 System.Transactions.dll 的引用
3 示例代码:
public void OpFaZhanChengYuBeiDangYuan(ZuZhiDangYuanXinXi xxeneity)
{
JiaoZhiGongManager jzgmanager = new JiaoZhiGongManager();
JiaoZhiGongService jzgservice = new JiaoZhiGongService();
XueShengService xsservice = new XueShengService();
XueShengManager xsmanager = new XueShengManager();
using (TransactionScope sp = new TransactionScope())
{
try
{
if (xxeneity.DYSF == 1)//教职工
{
JiaoZhiGong jzgentity = jzgmanager.GetJiaoZhiGongEntity(xxeneity.DYID.Value);
jzgentity.ZZMM = new Guid("0321019c-d74f-4117-8ac7-db17d22d9423");//中共预备党员
jzgservice.EditJiaoZhiGong(jzgentity);
}
if (xxeneity.DYSF == 2)//学生
{
XueSheng xsentity = xsmanager.GetXueShengEntity(xxeneity.DYID.Value);
xsentity.ZZMM = new Guid("0321019c-d74f-4117-8ac7-db17d22d9423"); //将学生发展成预备党员
xsservice.UpdateXueSheng(xsentity);
}
service.UpdateZuZhiDangYuanXinXi(xxeneity);
sp.Complete();
}
catch (Exception ex)
{
throw ex;
}
}
}
4.对MSDTC组件设置:
步骤:
在控制面板--->管理工具--->服务 中,开启Distributed Transaction Coordinator 服务。
a.控制面板->管理工具->组件服务->计算机->我的电脑->右键->属性
b.选择MSDTC页, 确认"使用本地协调器"
c.点击下方"安全配置"按钮
d.勾选: "允许网络DTC访问","允许远程客户端","允许入站","允许出站","不要求进行身份验证".
e.对于数据库服务器端, 可选择"要求对呼叫方验证"
f.勾选:"启用事务Internet协议(TIP)事务"。
g.在双方防火墙中增加MSDTC.exe