chore(tenpayv3): 新增基于 .NET Framework 4.7 的示例项目

This commit is contained in:
Fu Diwei
2021-12-28 14:05:39 +08:00
parent b2ce287136
commit 2dcfcab262
58 changed files with 1114 additions and 204 deletions

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Web.Mvc;
using Autofac;
using Autofac.Integration.Mvc;
using Autofac.Integration.WebApi;
using Hangfire;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample
{
public class AutofacInitializer
{
public static void Init()
{
var builder = new ContainerBuilder();
builder.RegisterControllers(Assembly.GetExecutingAssembly());
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).AsImplementedInterfaces().AsSelf();
builder.RegisterType<Services.HttpClients.Implements.WechatTenpayCertificateManagerFactory>()
.As<Services.HttpClients.IWechatTenpayCertificateManagerFactory>()
.SingleInstance();
builder.RegisterType<Services.HttpClients.Implements.WechatTenpayHttpClientFactory>()
.As<Services.HttpClients.IWechatTenpayHttpClientFactory>()
.SingleInstance();
builder.RegisterType<Services.BackgroundJobs.TenpayCertificateRefreshingBackgroundJob>()
.AsSelf()
.InstancePerBackgroundJob();
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
System.Web.Http.GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
}
}
}

View File

@@ -0,0 +1,12 @@
using System.Web.Mvc;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample
{
public class FilterRegistration
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
}
}

View File

@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using Hangfire;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample
{
public class HangfireInitializer
{
public static BackgroundJobServer Init()
{
GlobalConfiguration.Configuration
.SetDataCompatibilityLevel(CompatibilityLevel.Version_170)
.UseSimpleAssemblyNameTypeSerializer()
.UseRecommendedSerializerSettings()
.UseInMemoryStorage();
var server = new BackgroundJobServer();
HangfireAspNet.Use(() => new BackgroundJobServer[] { server });
BackgroundJob.Enqueue<Services.BackgroundJobs.TenpayCertificateRefreshingBackgroundJob>(job => job.ExecuteAsync());
RecurringJob.AddOrUpdate<Services.BackgroundJobs.TenpayCertificateRefreshingBackgroundJob>(job => job.ExecuteAsync(), Cron.Daily);
return server;
}
}
}

View File

@@ -0,0 +1,13 @@
using System.Web.Mvc;
using System.Web.Routing;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample
{
public class RouteRegistration
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
}
}
}

View File

@@ -0,0 +1,18 @@
using System.Web.Http;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample
{
public static class WebApiConfiguration
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "Default",
routeTemplate: "{controller}/{action}",
defaults: new { }
);
}
}
}