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上看得更远?