Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private async Task ReadAsync()
        {
            _stream.Seek(0, SeekOrigin.Begin);
            var @lock = await JsonSerializer.DeserializeAsync <ApplicationLockList>(_stream, _options);

            Applications = @lock.GetBuffer();
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="baseDirectory"></param>
        internal Locker(DirectoryInfo baseDirectory)
        {
            var file = new FileInfo(Path.Combine(baseDirectory.FullName, FILE_NAME));

            _stream = file.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
            if (_stream.Length != 0)
            {
                ReadAsync().Wait();
            }
            else
            {
                Applications = new ApplicationLockListBuffer();
            }
        }