C# 在ASP.NET样板文件中为应用程序服务配置审核日志记录
我试图确定是否有办法删除ASP.NET样板代码中默认提供的审核日志记录 查看文档,从审核配置中删除选择器应该可以工作,但实际上不行C# 在ASP.NET样板文件中为应用程序服务配置审核日志记录,c#,asp.net-core,configuration,aspnetboilerplate,audit-logging,C#,Asp.net Core,Configuration,Aspnetboilerplate,Audit Logging,我试图确定是否有办法删除ASP.NET样板代码中默认提供的审核日志记录 查看文档,从审核配置中删除选择器应该可以工作,但实际上不行 Configuration.Auditing.Selectors.Clear() 原因是,比方说,如果我想让审计保持启用状态,但只想审计某些服务,而不是审计类型为iaapplicationservice的所有服务 我曾尝试将上述内容放在各个模块中,但都没有成功。所有服务呼叫都记录在AbpAuditLogs表中。Background ASP.NET样板文件提供了创建
Configuration.Auditing.Selectors.Clear()
原因是,比方说,如果我想让审计保持启用状态,但只想审计某些服务,而不是审计类型为iaapplicationservice
的所有服务
我曾尝试将上述内容放在各个模块中,但都没有成功。所有服务呼叫都记录在AbpAuditLogs
表中。Background
ASP.NET样板文件提供了创建应用程序服务的基础结构
CreateControllersForAppServices方法获取一个程序集,并将所有应用程序服务转换为该程序集中的MVC控制器
ABP为ASP.NET核心定义了一些预构建的过滤器。默认情况下,它们都添加到所有控制器的所有操作中
-
问题
Configuration.Auditing.Selectors.Clear()
为操作过滤器而不是操作过滤器处理它
将defaultValue
作为true
传递给\u auditingHelper。应保存审核(…)
defaultValue
最终由返回
变通办法
我们无法轻松替换AbpAuditActionFilter
,但我们可以替换AuditingHelper
:
AuditingHelper
并将其重命名为IgnoreDefaultAuditingHelper
AuditingHelper.ShouldSaveAudit的最后一行以忽略defaultValue
:
public bool ShouldSaveAudit(MethodInfo MethodInfo,bool defaultValue=false)
{
// ...
返回false;
//返回默认值;
}
预初始化
方法中替换IAuditingHelper
:
public override void PreInitialize()
{
ReplaceService();
}
在哪个方法中调用
Clear
?在{APPNAME}CoreModule.cs
文件中的PreInitialize
方法中调用Clear
。