transactionscope能跨服务器使用吗

transactionscope能跨服务器使用吗,第1张

在net
11的时代,还没有TransactionScope类,因此很多关于事务的处理,都交给了SqlTransaction和
SqlConnection,每个Transaction是基于每个Connection的。这种设计对于跨越多个程序集或者多个方法的事务行为来说,不
是非常好,需要把事务和数据库连接作为参数传入。

在net 20后,TransactionScope类的出现,大大的简化了事务的设计。示例代码如下:
static void Main(string[] args)
{
using (TransactionScope ts = new TransactionScope())
{
userBLL u = new userBLL();
TeacherBLL t = new TeacherBLL();
uADD();
tADD();
tsComplete();
}
}
只需要把需要事务包裹的逻辑块写在using (TransactionScope ts = new
TransactionScope())中就可以了。从这种写法可以看出,TransactionScope实现了IDispose接口。除非显示调用
tsComplete()方法。否则,系统不会自动提交这个事务。如果在代码运行退出这个block后,还未调用Complete(),那么事务自动回
滚了。在这个事务块中,uADD()方法和tADD()方法内部都没有用到任何事务类。

TransactionScope是基于当前线程的,在当前线程中,调用TransactionCurrent方法可以看到当前事务的信息。具体关于TransactionScope的使用方法,已经它的成员方法和属性,可以查看
MSDN

TransactionScope类是可以嵌套使用,如果要嵌套使用,需要在嵌套事务块中指定TransactionScopeOption参数。默认的这个参数为Required。

该参数的具体含义可以参考>登陆后登陆信息保存入cookie,同时服务器中用户设置成登陆状态
跨域后,访问cookie是否存在。如果存在,与数据库中登陆状态比对,如果是登陆状态。直接可以访问页面,如果是退出状态。跳转到登陆页面
所有页面关闭时,都要重置登陆状态为退出


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13482596.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-15
下一篇 2023-08-15

发表评论

登录后才能评论

评论列表(0条)

保存