我正在尝试整合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吗?
我正在尝试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有什么问题吗?
谢谢