2013-10-15 9 views

Antwort

1

Wenn Sie aus irgendeinem Grund Transaktionen selbst verwalten müssen, ist es viel einfacher, TransactionScope zu verwenden. Es hat mehrere Konstruktoren, die einen TimeSpan-Parameter akzeptieren, um das Zeitlimit festzulegen. Zum Beispiel

Ich bin neugierig, warum Sie Transaktions-Timeout, nicht Befehl Timeout festlegen möchten.

3

Mein Vorschlag wäre Database.CommandTimeout zu verwenden:

var timeout = 60; //or whatever value you need 
Ctxt.Database.CommandTimeout = timeout; 
using (var tran = Ctxt.Database.BeginTransaction()) 
{ 
    //do stuff 
} 
//this line can be skipped if you're about to dispose context 
Ctxt.Database.CommandTimeout = null; //setting back default timeout 

Natürlich können Sie schön es in irgendeiner Klasse wickeln kann.

Verwandte Themen