1
1

Startup.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using Masuit.Tools.Core.AspNetCore;
  2. using Microsoft.AspNetCore.Builder;
  3. using Microsoft.AspNetCore.Hosting;
  4. using Microsoft.AspNetCore.Mvc;
  5. using Microsoft.Extensions.Configuration;
  6. using Microsoft.Extensions.DependencyInjection;
  7. using Microsoft.Extensions.Hosting;
  8. using Microsoft.Extensions.WebEncoders;
  9. using Microsoft.OpenApi.Models;
  10. using System;
  11. using System.Text.Encodings.Web;
  12. using System.Text.Unicode;
  13. namespace Masuit.Tools.AspNetCore.ResumeFileResults.WebTest
  14. {
  15. public class Startup
  16. {
  17. public Startup(IConfiguration configuration)
  18. {
  19. Configuration = configuration;
  20. }
  21. public IConfiguration Configuration { get; }
  22. public void ConfigureServices(IServiceCollection services)
  23. {
  24. services.AddResumeFileResult();
  25. services.AddSwaggerGen(c =>
  26. {
  27. c.SwaggerDoc("v1", new OpenApiInfo
  28. {
  29. Version = "v1",
  30. Title = $"接口文档",
  31. Description = $"HTTP API ",
  32. Contact = new OpenApiContact { Name = "懒得勤快", Email = "[email protected]", Url = new Uri("https://masuit.coom") },
  33. License = new OpenApiLicense { Name = "懒得勤快", Url = new Uri("https://masuit.com") }
  34. });
  35. var xmlPath = AppContext.BaseDirectory + "Masuit.Tools.AspNetCore.ResumeFileResults.WebTest.xml";
  36. c.IncludeXmlComments(xmlPath);
  37. });
  38. services.Configure<WebEncoderOptions>(options =>
  39. {
  40. options.TextEncoderSettings = new TextEncoderSettings(UnicodeRanges.All);
  41. }); //解决razor视图中中文被编码的问题
  42. services.AddMvc().AddControllersAsServices();
  43. }
  44. public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  45. {
  46. if (env.IsDevelopment())
  47. {
  48. app.UseDeveloperExceptionPage();
  49. }
  50. app.UseSwagger().UseSwaggerUI(c =>
  51. {
  52. c.SwaggerEndpoint($"{Configuration["Swagger:VirtualPath"]}/swagger/v1/swagger.json", "断点续传和多线程下载测试站点");
  53. });
  54. app.UseRouting(); // 放在 UseStaticFiles 之后
  55. app.UseEndpoints(endpoints =>
  56. {
  57. endpoints.MapControllers(); // 属性路由
  58. endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}"); // 默认路由
  59. });
  60. }
  61. }
  62. }