En utilisant une base de données Oracle 11g. J'ai un service qui est étiqueté avec:TransactionTimeout avec Oracle 11g
[ServiceBehavior (InstanceContextMode = InstanceContextMode.PerCall, TransactionTimeout = "00:00:10")]
La méthode elle-même ressemble à ceci:
[OperationBehavior(TransactionScopeRequired = true)]
[TransactionFlow(TransactionFlowOption.NotAllowed)]
public OrderMessage AddOrder(OrderMessage orderMessage)
{
ValidateMessage(orderMessage);
return this.orderBusiness.Add(orderMessage);
}
Si je mets un point d'arrêt dans la méthode orderBusiness.Add et attendez 10 secondes, les temps de transaction. Si je prends le point d'arrêt, mais verrouille une table impliquée dans la transaction, il attendra beaucoup plus de 10 secondes, au moins jusqu'à ce que les temps de service à 60 secondes. Des idées comment obtenir une transaction à l'expiration à un intervalle spécifié si la table est verrouillée?