Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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
Transactions 工作流到工作流基础4.5_Transactions_Workflow Foundation 4_Transactionscope - Fatal编程技术网

Transactions 工作流到工作流基础4.5

Transactions 工作流到工作流基础4.5,transactions,workflow-foundation-4,transactionscope,Transactions,Workflow Foundation 4,Transactionscope,我有一个非常简单的工作流程: 正如大家所看到的,它由一个receive、一个简单赋值和一个sendresponse组成,都在一个receive事务范围内 现在在消费者方面,我有一段简单的代码: static void Main(string[] args) { using (TransactionScope scope = new TransactionScope()) { Transaction

我有一个非常简单的工作流程:

正如大家所看到的,它由一个receive、一个简单赋值和一个sendresponse组成,都在一个receive事务范围内

现在在消费者方面,我有一段简单的代码:

    static void Main(string[] args)
    {            
        using (TransactionScope scope = new TransactionScope())
        {
            Transaction t = Transaction.Current;
            t.TransactionCompleted += t_TransactionCompleted;

            TransactedServiceRef.ServiceClient cli = new TransactedServiceRef.ServiceClient();
            string aux = cli.GetData(new TransactedServiceRef.GetData() { id = 1, value = 1 });                

            Console.WriteLine(aux);
            scope.Complete();

        }            
        Console.ReadLine();

    }

    static void t_TransactionCompleted(object sender, TransactionEventArgs e)
    {
        //POINT 1
    }
现在我的问题是: 我不知道为什么,但在“点1”我的交易总是中止!!! 没有异常被抛出,没有错误,没有回滚,什么都没有。。。它只是中止了。。。有人能帮我吗


顺便说一句:我希望第1点中的状态已提交…

您的问题中没有包含任何WCF配置详细信息?您是否也使用了适当的绑定并启用了事务


前段时间我就这个问题做了一次调查。希望对你有所帮助。

我已经检查了“PersistBeforeSend”。。。所以当我检查它时,一切都回到了预期的状态。。。我不知道它为什么起作用。。。它只是…

我知道!我看了!照你说的做了!事务确实会流入工作流。。。似乎它只是没有流出…问题的一个可能原因是MSDTC。它起着至关重要的作用,甚至在本地机器上也可以成为真正的PITA。另一个问题可能是导致事务中止的异常。我已经检查了异常,到目前为止没有任何异常。。。GetData操作确实返回了预期的结果。。。我如何在这个MSDTC上看得更远?