服务端的TigerApi 框架,基于.NET6 2024 版本
YangYuGang
2 天以前 e26f91635aa0343f6f5c201c95d20141dc465ed3
Tiger.Api/Startup.cs
@@ -8,12 +8,15 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.OpenApi.Models;
using NLog;
using Rhea.Common;
using Sundial;
using System;
using System.IO;
using System.Linq;
using System.Reflection;
using Tiger.Api.Controllers;
using Tiger.Api.DbCache;
using Tiger.IBusiness;
using Tiger.IBusiness.Utility;
@@ -55,11 +58,13 @@
        {
            //services.RegisterAssembly("Tiger.Service");
            //services.AddTransient(typeof(IBaseService<>), typeof(BaseService<>));
            services.AddControllersWithViews().AddNewtonsoftJson(opt =>
            services.AddControllersWithViews().AddExtraControllers().AddNewtonsoftJson(opt =>
            {
                opt.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
                opt.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
            });
            //services.AddControllers().AddApplicationPart(typeof(_WMSTestController).Assembly);
            //services.AddControllers();
            //配置跨域处理cors
            services.AddCors(options =>
@@ -104,7 +109,7 @@
            BizConfig.InitConfig(bizConfig, DI.Resolve<ILanguage>().GetDictionary());
            //加载配置文件
            NLog.LogManager.LoadConfiguration("nlog.config").GetCurrentClassLogger();
            NLog.LogManager.Setup().LoadConfigurationFromFile("nlog.config").GetCurrentClassLogger();
            app.UseMiddleware<LogMiddleware>();
            app.UseSwagger();
@@ -123,7 +128,7 @@
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}").RequireCors(anyAllowSpecificOrigins);
                //endpoints.MapControllers().RequireCors(anyAllowSpecificOrigins);
                endpoints.MapControllers().RequireCors(anyAllowSpecificOrigins);
            });
            ConsoleExt.Write($"Api Run as{((ApiConfig.IsDevVersion || ApiConfig.IsTestVersion) ? ((ApiConfig.IsDevVersion ? " Dev" : "") + (ApiConfig.IsTestVersion ? " Test" : "")) : " Release")} Edition", ConsoleColor.Cyan);
@@ -154,7 +159,8 @@
            //开启服务总线
            DI.Resolve<IServicesBus>().StartServices(app.ApplicationServices.GetService<ISchedulerFactory>());
            //开启DB缓存自动更新
            DI.Resolve<IDbCacheBus>().StartAutoUpdate();
            //DI.Resolve<IDbCacheBus>().StartAutoUpdate();
            DbCacheBus.StartAutoUpdate();
            //开启MQTT服务
            MQTTHelper.Start();
        }
@@ -164,15 +170,19 @@
        /// </summary>
        public void DeleteLogs()
        {
            DirectoryInfo di = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "\\Logs");
            var logFiles = di.GetFiles("*.log", SearchOption.AllDirectories);
            foreach (var file in logFiles)
            DirectoryInfo di = new (AppDomain.CurrentDomain.BaseDirectory + "\\Logs");
            if(di.Exists)
            {
                if ((DateTime.Now - file.LastWriteTime).TotalDays > 30)
                var logFiles = di.GetFiles("*.log", SearchOption.AllDirectories);
                foreach (var file in logFiles)
                {
                    file.Delete();
                    if ((DateTime.Now - file.LastWriteTime).TotalDays > 30)
                    {
                        file.Delete();
                    }
                }
            }
        }
    }//endClass
}