// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 // // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 // // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! namespace Admin.NET.Core; /// /// 缓存配置选项 /// public sealed class CacheOptions : IConfigurableOptions { /// /// 缓存前缀 /// public string Prefix { get; set; } /// /// 缓存类型 /// public string CacheType { get; set; } /// /// Redis缓存 /// public RedisOption Redis { get; set; } public void PostConfigure(CacheOptions options, IConfiguration configuration) { options.Prefix = string.IsNullOrWhiteSpace(options.Prefix) ? "" : options.Prefix.Trim(); } } /// /// Redis缓存 /// public sealed class RedisOption : RedisOptions { /// /// 最大消息大小 /// public int MaxMessageSize { get; set; } } /// /// 集群配置选项 /// public sealed class ClusterOptions : IConfigurableOptions { /// /// 是否启用 /// public bool Enabled { get; set; } /// /// 服务器标识 /// public string ServerId { get; set; } /// /// 服务器IP /// public string ServerIp { get; set; } /// /// SignalR配置 /// public ClusterSignalR SignalR { get; set; } /// /// 数据保护key /// public string DataProtecteKey { get; set; } /// /// 是否哨兵模式 /// public bool IsSentinel { get; set; } /// /// 哨兵配置 /// public StackExchangeSentinelConfig SentinelConfig { get; set; } } /// /// 集群SignalR配置 /// public sealed class ClusterSignalR { /// /// Redis连接字符串 /// public string RedisConfiguration { get; set; } /// /// 缓存前缀 /// public string ChannelPrefix { get; set; } } /// /// 哨兵配置 /// public sealed class StackExchangeSentinelConfig { /// /// master名称 /// public string ServiceName { get; set; } /// /// master访问密码 /// public string Password { get; set; } /// /// 哨兵访问密码 /// public string SentinelPassword { get; set; } /// /// 哨兵端口 /// public List EndPoints { get; set; } /// /// 默认库 /// public int DefaultDb { get; set; } /// /// 主前缀 /// public string MainPrefix { get; set; } /// /// SignalR前缀 /// public string SignalRChannelPrefix { get; set; } }