Using an Oracle 11g database. I have a service that is tagged with:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, TransactionTimeout="00:00:10")]
The method itself looks like this:
[OperationBehavior(TransactionScopeRequired = true)]
[TransactionFlow(TransactionFlowOption.NotAllowed)]
public OrderMessage AddOrder(OrderMessage orderMessage)
{
ValidateMessage(orderMessage);
return this.orderBusiness.Add(orderMessage);
}
If I put a breakpoint in the orderBusiness.Add method and wait 10 seconds, the transaction times out. If I take out the breakpoint, but then lock a table involved in the transaction, it will wait much longer than 10 seconds, at least until the service times out at 60 seconds. Any ideas how to get a transaction to timeout at a specified interval if the table is locked?