コード例 #1
0
        public Task<IStorageContainer> GetContainerAsync(string name)
        {
            string containerDir = $"{this._rootDirectory}\\{name}";
            var dirExists = Directory.Exists(containerDir);

            if (!dirExists)
                throw new StorageException(StorageExceptionReason.ContainerNotFound, $"Container '{name}' not exist.");

            var container = new FileSystemStorageContainer(containerDir);

            var tcs = new TaskCompletionSource<IStorageContainer>();
            tcs.SetResult(container);
            return tcs.Task;
        }
コード例 #2
0
        public Task<IStorageContainer> CreateOrGetContainerAsync(string name, ContainerPermission permission, bool failIfExists)
        {
            string containerDir = $"{this._rootDirectory}\\{name}";

            var dirExists = Directory.Exists(containerDir);
            if (!dirExists)
                Directory.CreateDirectory(containerDir);
            else if (failIfExists)
                throw new StorageException(StorageExceptionReason.ContainerExistAlready, "Container exist already.");

            var container = new FileSystemStorageContainer(containerDir);

            var tcs = new TaskCompletionSource<IStorageContainer>();
            tcs.SetResult(container);
            return tcs.Task;
        }
コード例 #3
0
        public Task <IStorageContainer> GetContainerAsync(string name)
        {
            string containerDir = $"{this._rootDirectory}\\{name}";
            var    dirExists    = Directory.Exists(containerDir);

            if (!dirExists)
            {
                throw new StorageException(StorageExceptionReason.ContainerNotFound, $"Container '{name}' not exist.");
            }

            var container = new FileSystemStorageContainer(containerDir);

            var tcs = new TaskCompletionSource <IStorageContainer>();

            tcs.SetResult(container);
            return(tcs.Task);
        }
コード例 #4
0
        public Task <IStorageContainer> CreateOrGetContainerAsync(string name, ContainerPermission permission, bool failIfExists)
        {
            string containerDir = $"{this._rootDirectory}\\{name}";

            var dirExists = Directory.Exists(containerDir);

            if (!dirExists)
            {
                Directory.CreateDirectory(containerDir);
            }
            else if (failIfExists)
            {
                throw new StorageException(StorageExceptionReason.ContainerExistAlready, "Container exist already.");
            }

            var container = new FileSystemStorageContainer(containerDir);

            var tcs = new TaskCompletionSource <IStorageContainer>();

            tcs.SetResult(container);
            return(tcs.Task);
        }