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