Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wcf TransactionScopeAsyncFlowOption和隔离级别?_Wcf_Entity Framework_C# 5.0_Isolation Level_Asynchronous Wcf Call - Fatal编程技术网

Wcf TransactionScopeAsyncFlowOption和隔离级别?

Wcf TransactionScopeAsyncFlowOption和隔离级别?,wcf,entity-framework,c#-5.0,isolation-level,asynchronous-wcf-call,Wcf,Entity Framework,C# 5.0,Isolation Level,Asynchronous Wcf Call,我在WCF服务中使用Entity Framework 6.1,并希望使用读取未提交隔离级别包围我的SELECT查询,因为其他批处理更新将插入到我正在读取的表中,并且不希望在对表执行读取时锁定这些批处理更新。这基本上是用NOLOCK模拟SELECT 该代码也以异步方式使用。因此,我不能简单地使用TransacationScope。请注意,我也在使用.NET4.5.1框架 我可以将TransactionScope上的隔离级别设置为ReadUncommitted,但TransactionScope选项

我在WCF服务中使用Entity Framework 6.1,并希望使用读取未提交隔离级别包围我的SELECT查询,因为其他批处理更新将插入到我正在读取的表中,并且不希望在对表执行读取时锁定这些批处理更新。这基本上是用NOLOCK模拟SELECT

该代码也以异步方式使用。因此,我不能简单地使用TransacationScope。请注意,我也在使用.NET4.5.1框架


我可以将TransactionScope上的隔离级别设置为ReadUncommitted,但TransactionScope选项的默认值为ReadCommitted。我看不到任何改变隔离级别的方法

有没有办法改变隔离级别?如果我不能设置隔离级别,我的查询是否可以在上述情况下运行


实际上,如果我不能将隔离级别设置为“NOLOCK”,我甚至不需要包含TransactionScopeAsyncFlowOption。

使用构造函数选项,将TransactionScopeAsyncFlowOption指定为第三个参数,而不是第一个参数:

using (var scope = new TransactionScope(
    TransactionScopeOption.Required,  
    new TransactionOptions { IsolationLevel = IsolationLevel.ReadUncommitted },
    TransactionScopeAsyncFlowOption.Enabled)) 
{
}

“我可以将TransactionScope上的隔离级别设置为ReadUncommitted,但TransactionScopeOption的默认值为ReadCommitted。我看不到任何更改隔离级别的方法。”这是一个矛盾。你说你可以设定水平,但不知为什么你不能。为什么?我只能使用TransactionScope设置隔离级别,但不能使用TransactionScope AsyncFlowOption设置隔离级别,我想说的是…为什么不能?我不熟悉流选项设置。它似乎没有隔离设置。如果您在TransactionScopeAsyncFlowOption上搜索,您可以阅读。使用此ctor如何?我试图理解这里的问题,因为解决方案似乎太简单了。