i have this very simple workflow:
As you all can see it consist of a receive a simple assign and a sendresponse, all in a receive transaction scope.
Now on the consumer side i have this simple piece of code:
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
}
Now to my problem: I don't know why but in "POINT 1" my transaction is always aborted!!! No exceptions are thrown, no errors, no rollbacks no nothing... it's just aborted... can anyone help me?
btw: the status im hoping for in POINT 1 is Commited...
I had "PersistBeforeSend" checked... so when I unchecked it everything went back to what was expected... i don't know why it worked... it just did...