Exemplo n.º 1
0
        internal override async Task DoCommandAsync()
        {
            _code = HttpStatusCodes.SuccessOk;
            var buffer = new byte[ProgramCostants.DefautBufferSize];
            var offset = 0;

            try {
                int count;
                while (0 < (count = await _inputStream.ReadAsync(buffer, offset, buffer.Length - offset)))
                {
                    offset += count;
                }
            } catch (HttpListenerException e) {
                Console.WriteLine(e.Message);
            }
            _content = Encoding.UTF8.GetString(buffer, 0, offset);
            Logger.Trace(_content);
            _inputStream.Close();
            if (!_content.Any())
            {
                return;
            }
            LockHelper.ParseLockContent(_content, this);
            LockManager.GetInstanse()
            .LockFile(_mFileName, new LockInfo(_mFileName, _mLockType, _mLockScope, _mDepth, _mOwner, _mFileName));
        }