版本260406
This commit is contained in:
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user