[导入]经验:使用.net 2.0中的TransactionScope碰到的问题
2008-04-15 10:03
573 查看
经验:使用.net 2.0中的TransactionScope碰到的问题
概述:不能在同一个TransactionScope中打开多个连接对象
TransactionScope真的是很方便的,具体的使用也很简单,MSDN上有详细描述。不过我在使用过程中发现了一个问题,那就是无法在同一个TransactionScope中打开多个连接对象。示例代码如下,示例中是连接到同一实例的同一数据库,但连接到不同实例的不同数据库也是同样的结果。
具体原因还需具体分析,我碰到的情况不一定代表就是正确的情况,还请大家批评。
[Test]
public void TestTransactionScope()
{
using (TransactionScope ts = new TransactionScope())
{
string cnstr = @"Data Source=cs1\sqlexpress;Database=fugao_dev;User ID=sa;Password=123;";
SqlConnection cn1 = new SqlConnection(cnstr);
cn1.Open();
using (TransactionScope ts2 = new TransactionScope())
{
SqlConnection cn2 = new SqlConnection(cnstr);
cn2.Open();
}
}
}
[Test]
public void TestTransactionScopeA()
{
using (TransactionScope ts = new TransactionScope())
{
string cnstr = @"Data Source=cs1\sqlexpress;Database=fugao_dev;User ID=sa;Password=123;";
SqlConnection cn1 = new SqlConnection(cnstr);
cn1.Open();
SqlConnection cn2 = new SqlConnection(cnstr);
cn2.Open();
}
}
以上测试都抛出了异常,并且运行时间很长,象死机一下
System.Transactions.TransactionManagerCommunicationException : 与基础事务管理器的通信失败。
----> System.Runtime.InteropServices.COMException : 对 COM 组件的调用返回了错误 HRESULT E_FAIL。
andy.wu 2008-04-14 13:21 发表评论
文章来源:http://www.cnblogs.com/andywu/archive/2008/04/14/1152634.html
概述:不能在同一个TransactionScope中打开多个连接对象
TransactionScope真的是很方便的,具体的使用也很简单,MSDN上有详细描述。不过我在使用过程中发现了一个问题,那就是无法在同一个TransactionScope中打开多个连接对象。示例代码如下,示例中是连接到同一实例的同一数据库,但连接到不同实例的不同数据库也是同样的结果。
具体原因还需具体分析,我碰到的情况不一定代表就是正确的情况,还请大家批评。
[Test]
public void TestTransactionScope()
{
using (TransactionScope ts = new TransactionScope())
{
string cnstr = @"Data Source=cs1\sqlexpress;Database=fugao_dev;User ID=sa;Password=123;";
SqlConnection cn1 = new SqlConnection(cnstr);
cn1.Open();
using (TransactionScope ts2 = new TransactionScope())
{
SqlConnection cn2 = new SqlConnection(cnstr);
cn2.Open();
}
}
}
[Test]
public void TestTransactionScopeA()
{
using (TransactionScope ts = new TransactionScope())
{
string cnstr = @"Data Source=cs1\sqlexpress;Database=fugao_dev;User ID=sa;Password=123;";
SqlConnection cn1 = new SqlConnection(cnstr);
cn1.Open();
SqlConnection cn2 = new SqlConnection(cnstr);
cn2.Open();
}
}
以上测试都抛出了异常,并且运行时间很长,象死机一下
System.Transactions.TransactionManagerCommunicationException : 与基础事务管理器的通信失败。
----> System.Runtime.InteropServices.COMException : 对 COM 组件的调用返回了错误 HRESULT E_FAIL。
andy.wu 2008-04-14 13:21 发表评论
文章来源:http://www.cnblogs.com/andywu/archive/2008/04/14/1152634.html
相关文章推荐
- 经验:使用.net 2.0中的TransactionScope碰到的问题
- JfreeChart使用经验总结(分析了使用中碰到的一些常见问题)
- JfreeChart使用经验总结(分析了使用中碰到的一些常见问题)
- 将使用AJAX的DNN模块部署到.net 2.0站点上的问题
- memcached jar 包 导入错误引起的异常,及使用中碰到的问题
- 将使用AJAX的DNN模块部署到.net 2.0站点上的问题
- 使用bcp批量导入数据时碰到的一些问题及解决
- 使用Transaction访问数据库(C#,TransactionScope,.NET 2.0)
- VS2010 使用过程中碰到的一个DLL导入失败的问题
- [导入]Flex使用Weborb与.NET交互的问题:使用DataSet出现"提供的索引超出范围"异常
- 使用Transaction访问数据库(C#,TransactionScope,.NET 2.0)
- 在.NET中发送邮件,使用回执功能中遇到问题的解决方法[在NOTES服务器上,C#,.NET2.0环境]
- 使用TortoiseSVN碰到的几个问题(1)-导入,提交,更新
- [导入]说说我在使用ToolStrip系列控件时碰到的问题
- VS2010 使用过程中碰到的一个DLL导入失败的问题
- .net网站关于导入excel,vs可以成功发布网站失败的问题
- 使用.net 2.0开发多层架构的系统之一——本网站2006-10-01版本源代码公布
- 使用NHibernate作为ORM容易碰到的问题
- swipe.js工具包实现手机web滑动轮播效果存在jQuery对象不能使用问题并解决(个人项目经验)
- 使用jQueryajax文件上传ajaxfileupload组建碰到的问题:返回json带有pre标记的解决方案