Sparkdo.Auditing.Contracts 1.0.1

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Sparkdo.Auditing.Contracts --version 1.0.1
                    
NuGet\Install-Package Sparkdo.Auditing.Contracts -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sparkdo.Auditing.Contracts" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.Auditing.Contracts" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Sparkdo.Auditing.Contracts" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sparkdo.Auditing.Contracts --version 1.0.1
                    
#r "nuget: Sparkdo.Auditing.Contracts, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sparkdo.Auditing.Contracts@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sparkdo.Auditing.Contracts&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Sparkdo.Auditing.Contracts&version=1.0.1
                    
Install as a Cake Tool

Sparkdo.Auditing.Contracts

Sparkdo 审计合约库,提供审计功能的核心接口和属性定义。

功能特性

  • 审计属性接口:定义实体审计所需的标准属性
  • 审计标记特性:通过特性控制审计行为
  • 审计对象接口:标准化的审计对象契约
  • 与 Sparkdo 框架无缝集成

安装

<PackageReference Include="Sparkdo.Auditing.Contracts" Version="x.x.x" />

核心组件

审计属性接口

  • IWithCreationTime: 包含创建时间属性
  • IWithModificationTime: 包含修改时间属性
  • IWithDeletionTime: 包含删除时间属性
  • IWithEntityVersion: 包含实体版本属性

创建者接口

  • IMayHaveCreator: 可能有创建者的实体接口
  • IMustHaveCreator: 必须有创建者的实体接口

审计对象接口

  • ICreationAuditedObject: 创建审计对象接口
  • IModificationAuditedObject: 修改审计对象接口
  • IDeletionAuditedObject: 删除审计对象接口
  • IAuditedObject: 完整审计对象接口(包含创建和修改审计)
  • IFullAuditedObject: 完全审计对象接口(包含创建、修改和删除审计)

审计特性

  • AuditedAttribute: 标记需要审计的类、方法或属性
  • AuditingDisableAttribute: 禁用审计的特性

枚举类型

  • EntityChangeType: 实体变更类型枚举(创建、更新、删除)

使用示例

基本审计实体

public class MyEntity : IAuditedObject
{
    public DateTime CreationTime { get; set; }
    public Guid? CreatorId { get; set; }
    public DateTime? LastModificationTime { get; set; }
    public Guid? LastModifierId { get; set; }
}

必须有创建者的实体

public class MyEntity : IMustHaveCreator
{
    public Guid CreatorId { get; set; }
    public DateTime CreationTime { get; set; }
}

使用审计特性

[Audited]
public class MyService
{
    public void MyMethod()
    {
        // 此方法将被审计
    }
}

public class AnotherService
{
    [Audited]
    public void AuditedMethod()
    {
        // 此方法将被审计
    }
    
    [AuditingDisable]
    public void NotAuditedMethod()
    {
        // 此方法不会被审计
    }
}

扩展性

该库提供了标准的审计契约,可以通过以下方式扩展:

  1. 实现自定义的审计接口
  2. 创建自定义的审计特性
  3. 结合 Sparkdo.Auditing 模块实现具体的审计逻辑

所有公共接口和类都添加了详细的 XML 文档注释,便于开发者理解和使用。

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Sparkdo.Auditing.Contracts:

Package Downloads
Sparkdo.Auditing

Sparkdo 审计库,提供方法调用和实体变更的自动审计日志记录功能

Sparkdo.Ddd.Application.Contracts

Sparkdo DDD应用层契约库,提供应用服务接口定义和数据传输对象(DTO)基类

Sparkdo.TenantManagement.Domain.Shared

Sparkdo 租户管理共享资源和配置

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2-preview.4 37 2/8/2026
1.0.2-preview.3 86 2/1/2026
1.0.2-preview.2 95 1/31/2026
1.0.2-preview.1 164 12/4/2025
1.0.1 1,137 11/27/2025
1.0.0 1,132 11/25/2025
1.0.0-preview.5 123 10/24/2025