您的位置:首页 > 其它

rh131测试题目和答案

2011-12-13 07:55 253 查看
在最近的开发中,遇到一个服务要执行多种类型操作的需求,例如:先执行1个文件操作,再执行2个数据库操作。
事务一致性要确保这1个文件操作和2个数据库操作必须同时执行或同时不执行。
try
{
using (TransactionScope scope = new TransactionScope())
{

//文件操作1…

//数据库操作1,2…

scope.Complete();

}
}
catch (System.Transactions.TransactionException ex)
{
//回滚
}
catch
{
//回滚
throw;
}
上述事务范围中,文件操作调用System.IO下的对象是不会自动回滚的,需要自定义在事务范围下的文件操作。
把文件操作封装到自定义的对象,对象要实现System.Transactions.IEnlistmentNotification接口,在事务范围进行对象的注册。
IEnlistmentNotification的使用参考 http://msdn.microsoft.com/zh-cn/library/system.transactions.ienlistmentnotification.aspx。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: