每当我通过 Web API 访问具有内存表的存储过程时,都会TransactionScope
收到此错误:
当前事务无法提交,也无法支持写入日志文件的操作。回滚事务。当前事务无法提交,也无法支持写入日志文件的操作。回滚事务。当前事务无法提交,也无法支持写入日志文件的操作。回滚事务。在批处理结束时检测到不可提交的事务。事务回滚
我曾尝试直接在 SQL Server Management Studio 中执行相同的存储过程,并且运行良好。
此外,当我TransactionScope
从 Web API 中删除时,它也可以正常工作。但我想TransactionScope
在 Web API中使用
在存储过程中,我有以下内容:
SET NOCOUNT ON;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
BEGIN TRY
SELECT ITEMID FROM SAMPLE_IN_MEMORY_TABLE
----
END TRY
BEGIN CATCH
--
END CATCH
在 Web API 内部按照我正在使用存储过程的方式
QueriesTableAdapter qa = new QueriesTableAdapter();
using (TransactionScope scope = new TransactionScope())
{
qa.SpSampleInMemoeryAccess(g_OutParameter64);
if (g_OutParameter64 > 0)
{
scope.Complete();
Status = true;
}
else
{
Status = false;
}
}
}