版本260406

This commit is contained in:
2026-04-06 22:04:05 +08:00
parent 7dc5e73af7
commit 0b150470be
216 changed files with 98993 additions and 33 deletions

View File

@@ -0,0 +1,117 @@
namespace OrpaonVision.ConfigApp.Infrastructure.Options;
/// <summary>
/// 会话持久化选项。
/// </summary>
public sealed class SessionPersistenceOptions
{
/// <summary>
/// 是否启用会话持久化。
/// </summary>
public bool EnablePersistence { get; set; } = true;
/// <summary>
/// 会话数据保留天数。
/// </summary>
public int RetentionDays { get; set; } = 30;
/// <summary>
/// 是否启用自动清理。
/// </summary>
public bool EnableAutoCleanup { get; set; } = true;
/// <summary>
/// 自动清理执行时间(小时)。
/// </summary>
public int AutoCleanupHour { get; set; } = 2; // 凌晨2点执行
/// <summary>
/// 批量操作大小。
/// </summary>
public int BatchSize { get; set; } = 1000;
/// <summary>
/// 会话事件保留天数。
/// </summary>
public int EventRetentionDays { get; set; } = 7;
/// <summary>
/// 是否启用会话压缩。
/// </summary>
public bool EnableCompression { get; set; } = true;
/// <summary>
/// 数据库连接字符串。
/// </summary>
public string ConnectionString { get; set; } = string.Empty;
/// <summary>
/// 会话表名。
/// </summary>
public string SessionTableName { get; set; } = "mdl_production_session";
/// <summary>
/// 会话事件表名。
/// </summary>
public string EventTableName { get; set; } = "mdl_production_session_event";
/// <summary>
/// 是否启用异步写入。
/// </summary>
public bool EnableAsyncWrite { get; set; } = true;
/// <summary>
/// 异步写入队列大小。
/// </summary>
public int AsyncWriteQueueSize { get; set; } = 10000;
/// <summary>
/// 异步写入批次大小。
/// </summary>
public int AsyncWriteBatchSize { get; set; } = 100;
/// <summary>
/// 异步写入间隔(毫秒)。
/// </summary>
public int AsyncWriteIntervalMs { get; set; } = 1000;
/// <summary>
/// 是否启用会话缓存。
/// </summary>
public bool EnableCaching { get; set; } = true;
/// <summary>
/// 缓存过期时间(分钟)。
/// </summary>
public int CacheExpirationMinutes { get; set; } = 30;
/// <summary>
/// 最大缓存大小。
/// </summary>
public int MaxCacheSize { get; set; } = 10000;
/// <summary>
/// 是否启用会话备份。
/// </summary>
public bool EnableBackup { get; set; } = true;
/// <summary>
/// 备份保留天数。
/// </summary>
public int BackupRetentionDays { get; set; } = 90;
/// <summary>
/// 备份路径。
/// </summary>
public string BackupPath { get; set; } = "backups/sessions";
/// <summary>
/// 是否启用会话加密。
/// </summary>
public bool EnableEncryption { get; set; } = false;
/// <summary>
/// 加密密钥。
/// </summary>
public string EncryptionKey { get; set; } = string.Empty;
}