Example #1
0
 public UploadManager(IFileStore fileStore, IFileWriter fileWriter, IUploadProgressManager uploadProgressManager, IUploadFileLock uploadFileLock, MetadataReader metadataReader, ILogger <UploadManager> logger)
 {
     this._fileStore             = fileStore;
     this._fileWriter            = fileWriter;
     this._logger                = logger;
     this._metadataReader        = metadataReader;
     this._uploadFileLock        = uploadFileLock;
     this._uploadProgressManager = uploadProgressManager;
 }
Example #2
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            FileIdentifier    fileIdentifier    = context.ActionArguments.Values.OfType <FileIdentifier>().Single();
            CancellationToken cancellationToken = context.HttpContext.RequestAborted;

            IUploadFileLock locker = context.HttpContext.RequestServices.GetRequiredService <IUploadFileLock>();

            context.HttpContext.Items[FileLockItemKey] = locker.Acquire(fileIdentifier, cancellationToken);
        }