2 // TransactionManager.cs
5 // Atsushi Enomoto <atsushi@ximian.com>
6 // Ankit Jain <JAnkit@novell.com>
12 using System.Configuration;
\r
13 using System.Transactions.Configuration;
15 namespace System.Transactions
17 public static class TransactionManager
19 static TransactionManager()
21 defaultSettings = ConfigurationManager.GetSection("system.transactions/defaultSettings") as DefaultSettingsSection;
\r
22 machineSettings = ConfigurationManager.GetSection("system.transactions/machineSettings") as MachineSettingsSection;
25 static DefaultSettingsSection defaultSettings;
\r
26 static MachineSettingsSection machineSettings;
\r
27 static TimeSpan defaultTimeout = new TimeSpan(0, 1, 0); /* 60 secs */
\r
28 static TimeSpan maxTimeout = new TimeSpan(0, 10, 0); /* 10 mins */
30 public static TimeSpan DefaultTimeout {
\r
32 // Obtain timeout from configuration setting..
\r
33 // - http://msdn.microsoft.com/en-us/library/ms973865.aspx
\r
34 // - http://sankarsan.wordpress.com/2009/02/01/transaction-timeout-in-systemtransactions/
\r
35 // 1. sys.txs/defaultSettings[@timeout]
\r
36 // 2. defaultTimeout
\r
38 if (defaultSettings != null)
\r
39 return defaultSettings.Timeout;
41 return defaultTimeout;
45 [MonoTODO ("Not implemented")]
46 public static HostCurrentTransactionCallback HostCurrentCallback {
47 get { throw new NotImplementedException (); }
48 set { throw new NotImplementedException (); }
51 public static TimeSpan MaximumTimeout {
54 if (machineSettings != null)
\r
55 return machineSettings.MaxTimeout;
61 [MonoTODO ("Not implemented")]
62 public static void RecoveryComplete (Guid manager)
64 throw new NotImplementedException ();
67 [MonoTODO ("Not implemented")]
68 public static Enlistment Reenlist (Guid manager,
70 IEnlistmentNotification notification)
72 throw new NotImplementedException ();
75 public static event TransactionStartedEventHandler
76 DistributedTransactionStarted;