Startup.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
  2. //
  3. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
  4. using Elsa;
  5. using Microsoft.AspNetCore.Builder;
  6. using Microsoft.AspNetCore.Hosting;
  7. using Microsoft.AspNetCore.Mvc.Versioning;
  8. using Microsoft.Extensions.Configuration;
  9. using Microsoft.Extensions.DependencyInjection;
  10. namespace Admin.NET.Plugin.Elsa;
  11. [AppStartup(100)]
  12. public class Startup : AppStartup
  13. {
  14. public void ConfigureServices(IServiceCollection services)
  15. {
  16. //var elsaOptions = App.GetOptions<ElsaOptions>();
  17. services
  18. .AddElsa(options => options
  19. .AddActivitiesFrom<Startup>()
  20. .AddWorkflowsFrom<Startup>()
  21. // .AddFeatures(startups, Configuration)
  22. // .ConfigureWorkflowChannels(options => elsaSection.GetSection("WorkflowChannels").Bind(options))
  23. .AddHttpActivities(App.Configuration.GetSection("Elsa").GetSection("Server").Bind)
  24. );
  25. services
  26. .AddNotificationHandlersFrom<Startup>()
  27. .AddElsaApiEndpoints()
  28. .AddElsaSwagger(options =>
  29. {
  30. //options.SwaggerDoc("Elsa", new OpenApiInfo() { Title = "Elsa", Description = "https://v2.elsaworkflows.io/" });
  31. //options.TagActionsBy(api => new[] { new OpenApiTag { Name = "Elsa", Description = "Elsa Core API Endpoints" } });
  32. options.TagActionsBy(api => new[] { "Elsa" });
  33. options.DocInclusionPredicate((docName, description) => true);
  34. });
  35. services.AddApiVersioning(options =>
  36. {
  37. options.UseApiBehavior = false;
  38. options.ApiVersionReader = new UrlSegmentApiVersionReader();
  39. });
  40. }
  41. public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  42. {
  43. app.UseApiVersioning();
  44. app.UseHttpActivities();
  45. app.UseElsaFeatures();
  46. }
  47. }