Exemple #1
0
 public ServerStateReader(string serverName, string brokerWorkingDir)
 {
     brokerWorkingDir = Path.GetFullPath(brokerWorkingDir ?? Directory.GetCurrentDirectory());
     _eventName       = ServerStateUtils.GetServerIntiializationEventName(serverName, brokerWorkingDir);
     _settingsDir     = ServerStateUtils.GetServerSettingsDirectory(serverName, brokerWorkingDir);
     _lockFilePath    = Path.Combine(_settingsDir, "lock");
 }
Exemple #2
0
 public ServerStateWriter(string serverName, string workingDir = null)
 {
     workingDir   = Path.GetFullPath(workingDir ?? Directory.GetCurrentDirectory());
     _eventName   = ServerStateUtils.GetServerIntiializationEventName(serverName, workingDir);
     _settingsDir = new DirectoryInfo(ServerStateUtils.GetServerSettingsDirectory(serverName, workingDir));
     _waitHandle  = new EventWaitHandle(false, EventResetMode.ManualReset, _eventName);
     _waitHandle.Reset();
     Cleanup();
 }
        public ServerStateWriter(string serverName, string workingDir = null)
        {
            workingDir   = Path.GetFullPath(workingDir ?? Directory.GetCurrentDirectory());
            _eventName   = ServerStateUtils.GetServerIntiializationEventName(serverName, workingDir);
            _settingsDir = new DirectoryInfo(ServerStateUtils.GetServerSettingsDirectory(serverName, workingDir));
            var lockFilePath = Path.Combine(_settingsDir.FullName, "lock");

            _settingsDir.Create();
            _lockFileStream = File.Open(lockFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
            _lockFileStream.SetLength(0);
            _lockFileStream.Flush(true);
            _waitHandle = new EventWaitHandle(false, EventResetMode.ManualReset, _eventName);
            _waitHandle.Reset();
            Cleanup();
        }