Startup.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using System.Text.Encodings.Web;
  2. using System.Text.Unicode;
  3. using Essensoft.AspNetCore.Payment.Alipay;
  4. using Essensoft.AspNetCore.Payment.JDPay;
  5. using Essensoft.AspNetCore.Payment.LianLianPay;
  6. using Essensoft.AspNetCore.Payment.QPay;
  7. using Essensoft.AspNetCore.Payment.UnionPay;
  8. using Essensoft.AspNetCore.Payment.WeChatPay;
  9. using Microsoft.AspNetCore.Builder;
  10. using Microsoft.AspNetCore.Hosting;
  11. using Microsoft.AspNetCore.Http;
  12. using Microsoft.AspNetCore.Mvc;
  13. using Microsoft.Extensions.Configuration;
  14. using Microsoft.Extensions.DependencyInjection;
  15. using Microsoft.Extensions.Logging;
  16. namespace WebApplicationSample
  17. {
  18. public class Startup
  19. {
  20. public Startup(IConfiguration configuration)
  21. {
  22. Configuration = configuration;
  23. }
  24. public IConfiguration Configuration { get; }
  25. // This method gets called by the runtime. Use this method to add services to the container.
  26. public void ConfigureServices(IServiceCollection services)
  27. {
  28. services.Configure<CookiePolicyOptions>(options =>
  29. {
  30. // This lambda determines whether user consent for non-essential cookies is needed for a given request.
  31. options.CheckConsentNeeded = context => true;
  32. options.MinimumSameSitePolicy = SameSiteMode.None;
  33. });
  34. // 引入Payment 依赖注入
  35. services.AddAlipay();
  36. services.AddJDPay();
  37. services.AddQPay();
  38. services.AddUnionPay();
  39. services.AddWeChatPay();
  40. services.AddLianLianPay();
  41. // 在 appsettings.json 中 配置选项
  42. services.Configure<AlipayOptions>(Configuration.GetSection("Alipay"));
  43. services.Configure<JDPayOptions>(Configuration.GetSection("JDPay"));
  44. services.Configure<QPayOptions>(Configuration.GetSection("QPay"));
  45. services.Configure<UnionPayOptions>(Configuration.GetSection("UnionPay"));
  46. services.Configure<WeChatPayOptions>(Configuration.GetSection("WeChatPay"));
  47. services.Configure<LianLianPayOptions>(Configuration.GetSection("LianLianPay"));
  48. services.AddWebEncoders(opt =>
  49. {
  50. opt.TextEncoderSettings = new TextEncoderSettings(UnicodeRanges.All);
  51. });
  52. services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
  53. }
  54. // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
  55. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
  56. {
  57. if (env.IsDevelopment())
  58. {
  59. app.UseDeveloperExceptionPage();
  60. }
  61. else
  62. {
  63. app.UseExceptionHandler("/Home/Error");
  64. app.UseHsts();
  65. }
  66. app.UseStaticFiles();
  67. app.UseCookiePolicy();
  68. app.UseMvc(routes =>
  69. {
  70. routes.MapRoute(
  71. "default",
  72. "{controller=Home}/{action=Index}/{id?}");
  73. });
  74. }
  75. }
  76. }