Ejemplo n.º 1
0
        public void Release()
        {
            using (_rwLock.GetWriteLock())
            {
                if (_released || !_folder.FileExists(_path))
                {
                    // nothing to do, might happen if re-granted or already released
                    return;
                }

                _released = true;

                // check it has not been granted in the meantime
                var current = _folder.ReadFile(_path);
                if (current == _content)
                {
                    _folder.DeleteFile(_path);
                }
            }
        }
Ejemplo n.º 2
0
        public void Release()
        {
            using (_rwLock.GetWriteLock())
            {
                if (_released || !File.Exists(_folder.MapPath(_path)))
                {
                    // nothing to do, might happen if re-granted or already released
                    // INFO: VirtualPathProvider caches file existence info, so not very reliable here.
                    return;
                }

                _released = true;

                // check it has not been granted in the meantime
                var current = _folder.ReadFile(_path);
                if (current == _content)
                {
                    _folder.DeleteFile(_path);
                }
            }
        }