小编Yan*_*ann的帖子

获取TransactionScope以使用async/await

我正在尝试整合async/ await进入我们的服务总线.我SingleThreadSynchronizationContext基于这个例子http://blogs.msdn.com/b/pfxteam/archive/2012/01/20/10259049.aspx实现了一个.

它的工作正常,除了一件事:TransactionScope.我等待内部的东西TransactionScope,它打破了TransactionScope.

TransactionScope似乎并没有与async/ 好玩await,当然因为它使用的东西存储在线程中ThreadStaticAttribute.我得到这个例外:

"TransactionScope嵌套不正确."

TransactionScope在排队任务之前尝试保存数据并在运行之前将其恢复,但它似乎没有改变.和TransactionScope代码是一个烂摊子,所以真的很难理解发生了什么事情在那里.

有没有办法让它发挥作用?有替代品TransactionScope吗?

c# transactionscope async-await

110
推荐指数
3
解决办法
3万
查看次数

linq到Db4o没有使用索引

我正在尝试db4o,并且在使用linq到db4o时性能不佳.(使用7.12)

这是我的配置:

        var configuration = Db4oFactory.Configure();
        configuration.ObjectClass(typeof(MyTest)).ObjectField("MyInt").Indexed(true);
Run Code Online (Sandbox Code Playgroud)

这是我想要保存的对象:

public class MyTest
{
    public int MyInt;
}
Run Code Online (Sandbox Code Playgroud)

这是我使用linq到db4o的代码(响应时间650ms):

var test = (from c in repo.ObjectContainer.Query<MyTest>()
                        where c.MyInt == 6500
                        select c).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

使用本机API的相同请求(响应时间28ms):

var query = repo.ObjectContainer.Query();
query.Descend("MyTest");
query.Descend("MyInt").Constrain(6500)
Run Code Online (Sandbox Code Playgroud)

有人能告诉我linq到db4o有什么问题吗?

谢谢

linq performance db4o

5
推荐指数
1
解决办法
959
查看次数

标签 统计

async-await ×1

c# ×1

db4o ×1

linq ×1

performance ×1

transactionscope ×1