diff --git a/src/FacadeCompanyName.FacadeProjectName.Application/FacadeCompanyName.FacadeProjectName.Application.csproj b/src/FacadeCompanyName.FacadeProjectName.Application/FacadeCompanyName.FacadeProjectName.Application.csproj
index 7fe993d..ba92779 100644
--- a/src/FacadeCompanyName.FacadeProjectName.Application/FacadeCompanyName.FacadeProjectName.Application.csproj
+++ b/src/FacadeCompanyName.FacadeProjectName.Application/FacadeCompanyName.FacadeProjectName.Application.csproj
@@ -3,7 +3,7 @@
- net7.0
+ net8.0
$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
FacadeCompanyName.FacadeProjectName.Application
FacadeCompanyName.FacadeProjectName.Application
diff --git a/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/FacadeCompanyName.FacadeProjectName.DomainService.Share.csproj b/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/FacadeCompanyName.FacadeProjectName.DomainService.Share.csproj
index c160dc7..39c14e1 100644
--- a/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/FacadeCompanyName.FacadeProjectName.DomainService.Share.csproj
+++ b/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/FacadeCompanyName.FacadeProjectName.DomainService.Share.csproj
@@ -3,7 +3,7 @@
- net7.0
+ net8.0
$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
FacadeCompanyName.FacadeProjectName.DomainService.Share
FacadeCompanyName.FacadeProjectName.DomainService.Share
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/FacadeConfiguration.cs b/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/FacadeConfiguration.cs
index 60c904d..26b7668 100644
--- a/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/FacadeConfiguration.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/FacadeConfiguration.cs
@@ -3,5 +3,8 @@
public class FacadeConfiguration : IFacadeConfiguration
{
public string AppName { get; set; }
+ public string AppRootPath { get; set; }
+ public string AppEnvName { get; set; }
+ public bool IsDevelopment { get; set; }
}
}
diff --git a/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/IFacadeConfiguration.cs b/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/IFacadeConfiguration.cs
index dbf8af8..9d480ab 100644
--- a/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/IFacadeConfiguration.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.DomainService.Share/IFacadeConfiguration.cs
@@ -2,7 +2,15 @@
{
public interface IFacadeConfiguration
{
- string AppName { get; }
-
+ string AppName { get; }
+ string AppRootPath { get; }
+ ///
+ /// app running env name.
+ ///
+ string AppEnvName { get; }
+ ///
+ /// is local development
+ ///
+ bool IsDevelopment { get; }
}
}
diff --git a/src/FacadeCompanyName.FacadeProjectName.DomainService/BackgroundWorkers/ClearLoggerWorker.cs b/src/FacadeCompanyName.FacadeProjectName.DomainService/BackgroundWorkers/ClearLoggerWorker.cs
new file mode 100644
index 0000000..8014f34
--- /dev/null
+++ b/src/FacadeCompanyName.FacadeProjectName.DomainService/BackgroundWorkers/ClearLoggerWorker.cs
@@ -0,0 +1,39 @@
+using Abp.Dependency;
+using Abp.Threading.Timers;
+using Abp.Timing;
+using FacadeCompanyName.FacadeProjectName.DomainService.Share;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FacadeCompanyName.FacadeProjectName.DomainService.BackgroundWorkers
+{
+ public class ClearLoggerWorker: FacadeProjectNameBackgroundWorkerBase, ISingletonDependency
+ {
+ private readonly IFacadeConfiguration _facadeConfiguration;
+ public ClearLoggerWorker(AbpAsyncTimer timer, IFacadeConfiguration facadeConfiguration)
+ : base(timer)
+ {
+ timer.Period = 1000 * 60 * 60;
+ _facadeConfiguration = facadeConfiguration;
+ }
+ protected override async Task DoWorkAsync()
+ {
+ var rootPath = _facadeConfiguration.AppRootPath;
+ var logsPath = Path.Combine(rootPath, "App_Data", "Logs");
+ if (Directory.Exists(logsPath))
+ {
+ var lastMonth = Clock.Now.Subtract(TimeSpan.FromDays(90));
+ var path1 = Path.Combine(logsPath, lastMonth.ToString("yyyy"), lastMonth.ToString("MM"));
+ if (Directory.Exists(path1))
+ {
+ Directory.Delete(path1, true);
+ }
+ }
+ await Task.CompletedTask;
+ }
+ }
+}
diff --git a/src/FacadeCompanyName.FacadeProjectName.DomainService/BackgroundWorkers/DemoWorker.cs b/src/FacadeCompanyName.FacadeProjectName.DomainService/BackgroundWorkers/DemoWorker.cs
deleted file mode 100644
index cb6556f..0000000
--- a/src/FacadeCompanyName.FacadeProjectName.DomainService/BackgroundWorkers/DemoWorker.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using Abp.Dependency;
-using Abp.Threading.Timers;
-using FacadeCompanyName.FacadeProjectName.DomainService.Share;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FacadeCompanyName.FacadeProjectName.DomainService.BackgroundWorkers
-{
- public class DemoWorker: FacadeProjectNameBackgroundWorkerBase, ISingletonDependency
- {
- public DemoWorker(AbpAsyncTimer timer)
- : base(timer)
- {
- }
- protected override async Task DoWorkAsync()
- {
- // TODO
- Logger.Info("this is a demo worker.");
- await Task.CompletedTask;
- }
- }
-}
diff --git a/src/FacadeCompanyName.FacadeProjectName.DomainService/FacadeCompanyName.FacadeProjectName.DomainService.csproj b/src/FacadeCompanyName.FacadeProjectName.DomainService/FacadeCompanyName.FacadeProjectName.DomainService.csproj
index 16f1d98..15e8c3c 100644
--- a/src/FacadeCompanyName.FacadeProjectName.DomainService/FacadeCompanyName.FacadeProjectName.DomainService.csproj
+++ b/src/FacadeCompanyName.FacadeProjectName.DomainService/FacadeCompanyName.FacadeProjectName.DomainService.csproj
@@ -3,7 +3,7 @@
- net7.0
+ net8.0
$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
FacadeCompanyName.FacadeProjectName.DomainService
FacadeCompanyName.FacadeProjectName.DomainService
@@ -27,8 +27,8 @@
-
-
+
+
diff --git a/src/FacadeCompanyName.FacadeProjectName.DomainService/FacadeProjectNameDomainServiceModule.cs b/src/FacadeCompanyName.FacadeProjectName.DomainService/FacadeProjectNameDomainServiceModule.cs
index 6e40aca..e4049bc 100644
--- a/src/FacadeCompanyName.FacadeProjectName.DomainService/FacadeProjectNameDomainServiceModule.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.DomainService/FacadeProjectNameDomainServiceModule.cs
@@ -42,7 +42,7 @@ public override void PostInitialize()
if (Configuration.BackgroundJobs.IsJobExecutionEnabled)
{
//Worker DI.
- //IocManager.Resolve().Add(IocManager.Resolve());
+ IocManager.Resolve().Add(IocManager.Resolve());
}
}
}
diff --git a/src/FacadeCompanyName.FacadeProjectName.Application/Folders/AppFolders.cs b/src/FacadeCompanyName.FacadeProjectName.DomainService/Folders/AppFolders.cs
similarity index 100%
rename from src/FacadeCompanyName.FacadeProjectName.Application/Folders/AppFolders.cs
rename to src/FacadeCompanyName.FacadeProjectName.DomainService/Folders/AppFolders.cs
diff --git a/src/FacadeCompanyName.FacadeProjectName.Application/Folders/IAppFolders.cs b/src/FacadeCompanyName.FacadeProjectName.DomainService/Folders/IAppFolders.cs
similarity index 66%
rename from src/FacadeCompanyName.FacadeProjectName.Application/Folders/IAppFolders.cs
rename to src/FacadeCompanyName.FacadeProjectName.DomainService/Folders/IAppFolders.cs
index 89f216b..0d4c72a 100644
--- a/src/FacadeCompanyName.FacadeProjectName.Application/Folders/IAppFolders.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.DomainService/Folders/IAppFolders.cs
@@ -3,16 +3,16 @@
public interface IAppFolders
{
///
- /// 临时文件下载文件夹 /downloads/temps
+ /// 临时文件下载文件夹 /temps//downloads/
///
string TempFileDownloadFolder { get; }
///
- /// 临时文件上传文件夹 /uploads/temps
+ /// 临时文件上传文件夹 /temps/uploads/
///
string TempFileUploadFolder { get; }
///
- /// 文件上传后保存的路径 /uploads/
+ /// 文件上传后保存的路径 /files/uploads/
///
string FileUploadFolder { get; }
}
diff --git a/src/FacadeCompanyName.FacadeProjectName.DomainService/Schedules/DemoSchedule.cs b/src/FacadeCompanyName.FacadeProjectName.DomainService/Schedules/DemoSchedule.cs
index 4a67801..234896c 100644
--- a/src/FacadeCompanyName.FacadeProjectName.DomainService/Schedules/DemoSchedule.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.DomainService/Schedules/DemoSchedule.cs
@@ -11,7 +11,7 @@ public DemoSchedule(ILogger logger)
{
_logger = logger;
}
- public override async Task Execute(IJobExecutionContext context)
+ public override async Task ExecuteJobAsync(IJobExecutionContext context)
{
_logger.Debug("DemoSchedule 执行了");
diff --git a/src/FacadeCompanyName.FacadeProjectName.DomainService/Schedules/ScheduleJobBase.cs b/src/FacadeCompanyName.FacadeProjectName.DomainService/Schedules/ScheduleJobBase.cs
index fd544e1..4cec27c 100644
--- a/src/FacadeCompanyName.FacadeProjectName.DomainService/Schedules/ScheduleJobBase.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.DomainService/Schedules/ScheduleJobBase.cs
@@ -1,4 +1,5 @@
using Abp.Quartz;
+using Facade.Quartz;
using FacadeCompanyName.FacadeProjectName.DomainService.Share;
namespace FacadeCompanyName.FacadeProjectName.DomainService.Schedules
@@ -6,7 +7,7 @@ namespace FacadeCompanyName.FacadeProjectName.DomainService.Schedules
///
/// 任务调度作业
///
- public abstract class ScheduleJobBase : JobBase
+ public abstract class ScheduleJobBase : FacadeScheduleJobBase
{
protected ScheduleJobBase() : base()
{
diff --git a/src/FacadeCompanyName.FacadeProjectName.Oracle/FacadeCompanyName.FacadeProjectName.Oracle.csproj b/src/FacadeCompanyName.FacadeProjectName.Oracle/FacadeCompanyName.FacadeProjectName.Oracle.csproj
index 7102b39..19ca0cc 100644
--- a/src/FacadeCompanyName.FacadeProjectName.Oracle/FacadeCompanyName.FacadeProjectName.Oracle.csproj
+++ b/src/FacadeCompanyName.FacadeProjectName.Oracle/FacadeCompanyName.FacadeProjectName.Oracle.csproj
@@ -3,7 +3,7 @@
- net7.0
+ net8.0
$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
true
true
diff --git a/src/FacadeCompanyName.FacadeProjectName.Web.Core/AspNetCore/FacadeProjectNameServiceCollectionExtensions.cs b/src/FacadeCompanyName.FacadeProjectName.Web.Core/AspNetCore/FacadeProjectNameServiceCollectionExtensions.cs
index c3836f1..e1d556e 100644
--- a/src/FacadeCompanyName.FacadeProjectName.Web.Core/AspNetCore/FacadeProjectNameServiceCollectionExtensions.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.Web.Core/AspNetCore/FacadeProjectNameServiceCollectionExtensions.cs
@@ -24,11 +24,7 @@ public static class FacadeProjectNameServiceCollectionExtensions
///
public static void ConfigureFacadeProjectNameService(this IServiceCollection services, IConfigurationRoot appConfiguration)
{
- services.AddControllers().AddNewtonsoftJson(options =>
- {
- options.OutputFormatterMemoryBufferThreshold = 1024 * 1024;
- options.InputFormatterMemoryBufferThreshold = 1024 * 1024;
- });
+ services.AddControllers();
services.Configure(options =>
{
diff --git a/src/FacadeCompanyName.FacadeProjectName.Web.Core/FacadeCompanyName.FacadeProjectName.Web.Core.csproj b/src/FacadeCompanyName.FacadeProjectName.Web.Core/FacadeCompanyName.FacadeProjectName.Web.Core.csproj
index 0e5d52f..d4e9879 100644
--- a/src/FacadeCompanyName.FacadeProjectName.Web.Core/FacadeCompanyName.FacadeProjectName.Web.Core.csproj
+++ b/src/FacadeCompanyName.FacadeProjectName.Web.Core/FacadeCompanyName.FacadeProjectName.Web.Core.csproj
@@ -3,7 +3,7 @@
- net7.0
+ net8.0
$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
FacadeCompanyName.FacadeProjectName.Web.Core
FacadeCompanyName.FacadeProjectName.Web.Core
@@ -14,12 +14,12 @@
-
-
-
-
+
+
+
+
-
+
diff --git a/src/FacadeCompanyName.FacadeProjectName.Web.Core/FacadeProjectNameWebCoreModule.cs b/src/FacadeCompanyName.FacadeProjectName.Web.Core/FacadeProjectNameWebCoreModule.cs
index e2fdc22..982c1db 100644
--- a/src/FacadeCompanyName.FacadeProjectName.Web.Core/FacadeProjectNameWebCoreModule.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.Web.Core/FacadeProjectNameWebCoreModule.cs
@@ -44,6 +44,9 @@ public override void PreInitialize()
IocManager.RegisterIfNot(Abp.Dependency.DependencyLifeStyle.Singleton);
var facadeConfiguration = IocManager.Resolve();
_appConfiguration.GetSection("FacadeConfiguration").Bind(facadeConfiguration);
+ facadeConfiguration.AppRootPath = _env.ContentRootPath;
+ facadeConfiguration.IsDevelopment = _env.EnvironmentName.Equals("Development", StringComparison.OrdinalIgnoreCase);
+ facadeConfiguration.AppEnvName = _env.EnvironmentName;
Configuration.Auditing.IsEnabled = false;
Configuration.Auditing.IsEnabledForAnonymousUsers = true;
@@ -52,6 +55,7 @@ public override void PreInitialize()
Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString(FacadeProjectNameConsts.ConnectionStringName);
Configuration.UnitOfWork.Timeout = new TimeSpan(0, 0, 30);
+ Configuration.Localization.Languages.Clear();
Configuration.Localization.Languages.Add(new LanguageInfo("zh", "中文简体", isDefault: true));
Configuration.Localization.Languages.Add(new LanguageInfo("en", "English"));
ConfigureTokenAuth();
diff --git a/src/FacadeCompanyName.FacadeProjectName.Web.Core/Filters/DebounceActionFilter.cs b/src/FacadeCompanyName.FacadeProjectName.Web.Core/Filters/DebounceActionFilter.cs
index 7ebc13d..0f84279 100644
--- a/src/FacadeCompanyName.FacadeProjectName.Web.Core/Filters/DebounceActionFilter.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.Web.Core/Filters/DebounceActionFilter.cs
@@ -70,16 +70,19 @@ public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionE
var requestParams = context.ActionArguments;
#region 获取参数及token
var sb = new StringBuilder();
+ sb.Append(methodInfo.DeclaringType.FullName);
+ sb.Append(methodInfo.Name);
sb.Append(request.Method);
+ sb.Append(request.Host.ToString());
+ sb.Append(request.Path.ToString());
+ sb.Append(request.Protocol);
+ //_logger.Debug($"Debounce-{methodInfo.DeclaringType.FullName}-{methodInfo.Name}:" + Environment.NewLine + sb.ToString());
+ sb.Append(request.QueryString.ToString());
foreach (var kvp in requestParams)
{
sb.Append(kvp.Key).Append(kvp.Value.ToJsonString());
}
- sb.Append(request.Host.ToString());
- sb.Append(request.Path.ToString());
- sb.Append(request.QueryString.ToString());
- sb.Append(request.Protocol);
if (request.Headers.TryGetValue("Authorization", out var v))
{
var token = v.ToString();
@@ -104,9 +107,8 @@ public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionE
{
var obj = new ObjectResult(JsonSerializationHelper.DeserializeWithType(cacheValue));
context.Result = obj;
- var d_type = context.ActionDescriptor.GetMethodInfo().DeclaringType;
- var methodName = context.ActionDescriptor.GetMethodInfo().Name;
- _logger.Debug($"Debounce-{d_type.FullName}-{methodName}:" + cacheKey);
+ //context.Result = new ObjectResult(new JsonResponse(false, "数据正在处理中,请稍后再试..."));
+ _logger.Debug($"Debounce-{methodInfo.DeclaringType.FullName}-{methodInfo.Name}:" + cacheKey);
return;
}
}
diff --git a/src/FacadeCompanyName.FacadeProjectName.Web.Host/FacadeCompanyName.FacadeProjectName.Web.Host.csproj b/src/FacadeCompanyName.FacadeProjectName.Web.Host/FacadeCompanyName.FacadeProjectName.Web.Host.csproj
index b487ac6..18edfbb 100644
--- a/src/FacadeCompanyName.FacadeProjectName.Web.Host/FacadeCompanyName.FacadeProjectName.Web.Host.csproj
+++ b/src/FacadeCompanyName.FacadeProjectName.Web.Host/FacadeCompanyName.FacadeProjectName.Web.Host.csproj
@@ -3,7 +3,7 @@
- net7.0
+ net8.0
$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
true
FacadeCompanyName.FacadeProjectName.Web.Host
diff --git a/src/FacadeCompanyName.FacadeProjectName.Web.Host/Hubs/NewSignalRRealTimeNotifier.cs b/src/FacadeCompanyName.FacadeProjectName.Web.Host/Hubs/NewSignalRRealTimeNotifier.cs
index 4cee439..d86ea88 100644
--- a/src/FacadeCompanyName.FacadeProjectName.Web.Host/Hubs/NewSignalRRealTimeNotifier.cs
+++ b/src/FacadeCompanyName.FacadeProjectName.Web.Host/Hubs/NewSignalRRealTimeNotifier.cs
@@ -41,7 +41,7 @@ public async Task SendNotificationsAsync(UserNotification[] userNotifications)
{
try
{
- var onlineClients = _onlineClientManager.GetAllByUserId(userNotification);
+ var onlineClients = await _onlineClientManager.GetAllByUserIdAsync(userNotification);
foreach (var onlineClient in onlineClients)
{
var signalRClient = _hubContext.Clients.Client(onlineClient.ConnectionId);
diff --git a/test/FacadeCompanyName.FacadeProjectName.Tests/FacadeCompanyName.FacadeProjectName.Tests.csproj b/test/FacadeCompanyName.FacadeProjectName.Tests/FacadeCompanyName.FacadeProjectName.Tests.csproj
index 7546c8c..d0e2bbf 100644
--- a/test/FacadeCompanyName.FacadeProjectName.Tests/FacadeCompanyName.FacadeProjectName.Tests.csproj
+++ b/test/FacadeCompanyName.FacadeProjectName.Tests/FacadeCompanyName.FacadeProjectName.Tests.csproj
@@ -1,17 +1,17 @@
- net7.0
+ net8.0
false
-
-
+
+
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/test/FacadeCompanyName.FacadeProjectName.Tests/FacadeProjectNameTestModule.cs b/test/FacadeCompanyName.FacadeProjectName.Tests/FacadeProjectNameTestModule.cs
index f8b2e54..38793e2 100644
--- a/test/FacadeCompanyName.FacadeProjectName.Tests/FacadeProjectNameTestModule.cs
+++ b/test/FacadeCompanyName.FacadeProjectName.Tests/FacadeProjectNameTestModule.cs
@@ -9,7 +9,10 @@
using Castle.Facilities.Logging;
using Facade.NLogger;
using FacadeCompanyName.FacadeProjectName.Application;
-using FacadeCompanyName.FacadeProjectName.DomainService.Share;
+using FacadeCompanyName.FacadeProjectName.DomainService.Share;
+using Microsoft.Extensions.Hosting;
+using System;
+using System.IO;
namespace FacadeCompanyName.FacadeProjectName.Tests
{
@@ -18,9 +21,9 @@ namespace FacadeCompanyName.FacadeProjectName.Tests
typeof(FacadeProjectNameApplicationModule)
)]
public class FacadeProjectNameTestModule : AbpModule
- {
+ {
public FacadeProjectNameTestModule()
- {
+ {
}
public override void PreInitialize()
@@ -31,15 +34,21 @@ public override void PreInitialize()
});
IocManager.Register(Abp.Dependency.DependencyLifeStyle.Singleton);
var facadeConfiguration = IocManager.Resolve();
- facadeConfiguration.AppName = "FacadeProjectName_Tests";
-
- // Disable static mapper usage since it breaks unit tests (see https://github.com/aspnetboilerplate/aspnetboilerplate/issues/2052)
- // Configuration.Modules.AbpAutoMapper().UseStaticMapper = false;
-
+ facadeConfiguration.AppName = "FacadeProjectName_Tests";
+ facadeConfiguration.AppRootPath = Directory.GetCurrentDirectory();
+ facadeConfiguration.IsDevelopment = true;
+ facadeConfiguration.AppEnvName = "Development";
+
+ // Disable static mapper usage since it breaks unit tests (see https://github.com/aspnetboilerplate/aspnetboilerplate/issues/2052)
+ // Configuration.Modules.AbpAutoMapper().UseStaticMapper = false;
+
+ Configuration.Auditing.IsEnabled = false;
Configuration.Auditing.IsEnabledForAnonymousUsers = true;
Configuration.BackgroundJobs.IsJobExecutionEnabled = false;
Configuration.MultiTenancy.IsEnabled = FacadeProjectNameConsts.MultiTenancyEnabled;
Configuration.DefaultNameOrConnectionString = "Data Source=ORCL;Persist Security Info=True;User Id=ORCL;Password=ORCL;";
+
+ Configuration.Localization.Languages.Clear();
Configuration.Localization.Languages.Add(new LanguageInfo("zh", "ļ", isDefault: true));
Configuration.Localization.Languages.Add(new LanguageInfo("en", "English"));