Program.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Microsoft.Azure.Functions.Worker;
  2. using Microsoft.Extensions.Configuration;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using Microsoft.Extensions.Hosting;
  5. using TEAMModelOS.SDK;
  6. using TEAMModelOS.SDK.DI;
  7. using TEAMModelOS.SDK.DI.Multiple;
  8. var host = new HostBuilder()
  9. .ConfigureFunctionsWebApplication()
  10. .ConfigureServices((context, services) =>
  11. {
  12. //services.AddApplicationInsightsTelemetryWorkerService();
  13. //services.ConfigureFunctionsApplicationInsights();
  14. services.AddHttpClient();
  15. services.AddHttpClient<DingDing>();
  16. services.AddHttpClient<HttpTrigger>();
  17. services.AddHttpClient<CoreAPIHttpService>();
  18. List<(string name, string connectionString)> cosmosDBConnects = new();
  19. cosmosDBConnects.Add(("Default", context.Configuration.GetSection("Azure:Cosmos:ConnectionString").Get<string>()));
  20. cosmosDBConnects.Add(("CoreServiceV1", context.Configuration.GetSection("CoreServiceV1:Cosmos:ConnectionString").Get<string>())); //CoreService V1 read only
  21. cosmosDBConnects.Add(("CoreServiceV2", context.Configuration.GetSection("CoreServiceV2:Cosmos:ConnectionString").Get<string>())); //CoreService V2
  22. cosmosDBConnects.Add(("CoreServiceV2CnRead", context.Configuration.GetSection("CoreServiceV2:CosmosCnRead:ConnectionString").Get<string>())); //CoreService V2 CN read only
  23. services.AddMultipleAzureCosmos(cosmosDBConnects);
  24. services.AddAzureServiceBus(context.Configuration.GetSection("Azure:ServiceBus:ConnectionString").Get<string>());
  25. services.AddAzureRedis(context.Configuration.GetSection("Azure:Redis:ConnectionString").Get<string>());
  26. services.AddSnowflakeId(Convert.ToInt64(context.Configuration.GetSection("Option:LocationNum").Get<Int32>()), 1);
  27. List<(string name, string connectionString)> storageConnects = new();
  28. storageConnects.Add(("Default", context.Configuration.GetSection("Azure:Storage:ConnectionString").Get<string>()));
  29. services.AddMultipleAzureStorage(storageConnects);
  30. services.AddSingleton<BackgroundWorkerQueue>();
  31. services.AddHostedService<LongRunningService>();
  32. })
  33. .Build();
  34. host.Run();