static int Main(string[] args) { var type = args[0]; var name = args[1]; IDisposable handle = null; switch (type) { case "sql": handle = new SqlDistributedLock(name, ConnectionString).Acquire(); break; case "sqlreaderwriterlock": handle = new SqlDistributedReaderWriterLock(name, ConnectionString).AcquireWriteLock(); break; case "system": handle = new SystemDistributedLock(name).Acquire(); break; default: return(123); } if (Console.ReadLine() != "abandon") { handle.Dispose(); } return(0); }
public static int Main(string[] args) { var type = args[0]; var name = args[1]; IDisposable?handle; switch (type) { case "SqlDistributedLock": handle = new SqlDistributedLock(name, ConnectionString).Acquire(); break; case "SqlReaderWriterLockDistributedLock": handle = new SqlDistributedReaderWriterLock(name, ConnectionString).AcquireWriteLock(); break; case "SqlSemaphoreDistributedLock": handle = new SqlDistributedSemaphore(name, maxCount: 1, connectionString: ConnectionString).Acquire(); break; case "SqlSemaphoreDistributedLock5": handle = new SqlDistributedSemaphore(name, maxCount: 5, connectionString: ConnectionString).Acquire(); break; case "SystemDistributedLock": handle = new SystemDistributedLock(name).Acquire(); break; default: return(123); } Console.WriteLine("Acquired"); Console.Out.Flush(); if (Console.ReadLine() != "abandon") { handle.Dispose(); } return(0); }