Startup.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using LJProxy.Providers;
  2. using LJProxy.Services;
  3. using LJProxy.Settings;
  4. using Microsoft.AspNetCore.Builder;
  5. using Microsoft.AspNetCore.Hosting;
  6. using Microsoft.AspNetCore.Http.Features;
  7. using Microsoft.AspNetCore.HttpsPolicy;
  8. using Microsoft.AspNetCore.Mvc;
  9. using Microsoft.AspNetCore.StaticFiles;
  10. using Microsoft.Extensions.Configuration;
  11. using Microsoft.Extensions.DependencyInjection;
  12. using Microsoft.Extensions.Hosting;
  13. using Microsoft.Extensions.Logging;
  14. using System;
  15. using System.Collections.Generic;
  16. using System.Linq;
  17. using System.Threading.Tasks;
  18. namespace LJProxy
  19. {
  20. public class Startup
  21. {
  22. public Startup(IConfiguration configuration)
  23. {
  24. Configuration = configuration;
  25. }
  26. public IConfiguration Configuration { get; }
  27. // This method gets called by the runtime. Use this method to add services to the container.
  28. public void ConfigureServices(IServiceCollection services)
  29. {
  30. services.AddControllers().AddNewtonsoftJson(opt => {
  31. //opt.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
  32. });
  33. services.Configure<AppSettings>(Configuration.GetSection("Appsettings"));
  34. services.AddSingleton<LJClientPoolService>();
  35. services.AddScoped<VersionService>();
  36. GlobalVar.InitSetting(Configuration.GetSection("Appsettings"));
  37. services.AddHttpClient();
  38. services.Configure<FormOptions>(opt => {
  39. // opt.ValueLengthLimit = 20 * 1024 * 1024;
  40. // opt.MultipartBodyLengthLimit = 20* 1024 * 1024;
  41. // opt.MultipartHeadersCountLimit = 5;
  42. });
  43. }
  44. // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
  45. public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  46. {
  47. if (env.IsDevelopment())
  48. {
  49. app.UseDeveloperExceptionPage();
  50. }
  51. app.UseHttpsRedirection();
  52. app.UseRouting();
  53. app.UseAuthorization();
  54. app.UseEndpoints(endpoints =>
  55. {
  56. endpoints.MapControllers();
  57. });
  58. app.UseDefaultFiles();
  59. var provider = new FileExtensionContentTypeProvider();
  60. provider.Mappings[".apk"] = "application/vnd.android.package-archive";
  61. app.UseStaticFiles(new StaticFileOptions {
  62. FileProvider = new L1SvrFileProvider(env.ContentRootPath,app.ApplicationServices.GetService<LJClientPoolService>()),
  63. ContentTypeProvider = provider
  64. });
  65. }
  66. }
  67. }