AzureServiceBusCollectionExtensions.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Microsoft.Extensions.DependencyInjection;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using TEAMModelOS.SDK.Module.AzureServiceBus;
  6. namespace TEAMModelOS.SDK
  7. {
  8. public static class AzureServiceBusCollectionExtensions
  9. {
  10. private static AzureServiceBusServiceBuilder AddServiceBusBuilder(this IServiceCollection services)
  11. {
  12. return new AzureServiceBusServiceBuilder(services);
  13. }
  14. /// <summary>
  15. ///
  16. /// </summary>
  17. /// <param name="services"></param>
  18. /// <returns></returns>
  19. public static AzureServiceBusServiceBuilder AddServiceBus(this IServiceCollection services)
  20. {
  21. var builder = services.AddServiceBusBuilder();
  22. services.AddSingleton<IAzureServiceBusService, AzureServiceBusService>();
  23. return builder;
  24. }
  25. /// <summary>
  26. ///
  27. /// </summary>
  28. /// <param name="builder"></param>
  29. /// <param name="_connectionString"></param>
  30. /// <returns></returns>
  31. public static AzureServiceBusServiceBuilder AddServiceBusOptions(this AzureServiceBusServiceBuilder builder, AzureServiceBusOptions serviceBusOptions)
  32. {
  33. builder.Services.AddSingleton(serviceBusOptions);
  34. return builder;
  35. }
  36. }
  37. }