QueueRequestEntity.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Net.Http;
  3. namespace Vinno.vCloud.Common.Storage.ObjectStorageInfo
  4. {
  5. public class QueueRequestBase
  6. {
  7. /// <summary>
  8. /// 队列总数量
  9. /// </summary>
  10. public int QueueCount { get; set; }
  11. /// <summary>
  12. /// 队列中的位置
  13. /// </summary>
  14. public int QueueIndex { get; set; }
  15. /// <summary>
  16. /// 进度回调
  17. /// </summary>
  18. public Action<double> ProgressCallback { get; set; }
  19. /// <summary>
  20. /// 文件信息
  21. /// </summary>
  22. public ObjectFileInfo FileInfo { get; set; }
  23. }
  24. public class QueueRequestEntity : QueueRequestBase
  25. {
  26. /// <summary>
  27. /// http请求
  28. /// </summary>
  29. public HttpRequestMessage Request { get; set; }
  30. /// <summary>
  31. /// 请求完成后的工作者(参数:返回的http响应,文件信息, 队列位置,队列长度,进度回调)
  32. /// </summary>
  33. public Action<QueueWorkItem> CompleteWorker { get; set; }
  34. /// <summary>
  35. /// 出现异常后的工作者
  36. /// </summary>
  37. public Action<Exception> ExceptionWorker { get; set; }
  38. }
  39. public class QueueWorkItem : QueueRequestBase
  40. {
  41. /// <summary>
  42. /// Http响应信息
  43. /// </summary>
  44. public HttpResponseMessage Response { get; set; }
  45. }
  46. }