From 69bcd51b0f9436a3abfd29b3a869dc7c3d33fa83 Mon Sep 17 00:00:00 2001 From: SmallChi <564952747@qq.com> Date: Mon, 24 Dec 2018 00:08:35 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0RedisHost=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=202.=E5=A2=9E=E5=8A=A0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E7=A9=BA=E7=9A=84=E4=BC=9A=E8=AF=9D=E5=8F=91=E5=B8=83=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=203.=E5=A2=9E=E5=8A=A0Redis=E7=9A=84=E4=BC=9A?= =?UTF-8?q?=E8=AF=9D=E5=8F=91=E5=B8=83=E5=AE=9E=E7=8E=B0=E5=BE=85=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Configurations/JT808Configuration.cs | 2 + .../Interfaces/IJT808Publishing.cs | 2 +- .../JT808SessionPublishingEmptyImpl.cs | 16 ++++++++ .../JT808SessionPublishingRedisImpl.cs | 40 +++++++++++++++++++ 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 src/JT808.DotNetty/Internal/JT808SessionPublishingEmptyImpl.cs create mode 100644 src/JT808.DotNetty/Internal/JT808SessionPublishingRedisImpl.cs diff --git a/src/JT808.DotNetty/Configurations/JT808Configuration.cs b/src/JT808.DotNetty/Configurations/JT808Configuration.cs index 6fb33e5..bbb324b 100644 --- a/src/JT808.DotNetty/Configurations/JT808Configuration.cs +++ b/src/JT808.DotNetty/Configurations/JT808Configuration.cs @@ -46,5 +46,7 @@ namespace JT808.DotNetty.Configurations // 就跟神兽貔貅一样。。。 /// public List ForwardingRemoteAddress { get; set; } + + public string RedisHost { get; set; } } } diff --git a/src/JT808.DotNetty/Interfaces/IJT808Publishing.cs b/src/JT808.DotNetty/Interfaces/IJT808Publishing.cs index aeb8cb8..26d88b5 100644 --- a/src/JT808.DotNetty/Interfaces/IJT808Publishing.cs +++ b/src/JT808.DotNetty/Interfaces/IJT808Publishing.cs @@ -7,6 +7,6 @@ namespace JT808.DotNetty.Interfaces { public interface IJT808Publishing { - Task Publish(string topicName,string key,string value); + Task PublishAsync(string topicName,string key,string value); } } diff --git a/src/JT808.DotNetty/Internal/JT808SessionPublishingEmptyImpl.cs b/src/JT808.DotNetty/Internal/JT808SessionPublishingEmptyImpl.cs new file mode 100644 index 0000000..75066e9 --- /dev/null +++ b/src/JT808.DotNetty/Internal/JT808SessionPublishingEmptyImpl.cs @@ -0,0 +1,16 @@ +using JT808.DotNetty.Interfaces; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; + +namespace JT808.DotNetty.Internal +{ + internal class JT808SessionPublishingEmptyImpl : IJT808SessionPublishing + { + public Task PublishAsync(string topicName, string key, string value) + { + return Task.CompletedTask; + } + } +} diff --git a/src/JT808.DotNetty/Internal/JT808SessionPublishingRedisImpl.cs b/src/JT808.DotNetty/Internal/JT808SessionPublishingRedisImpl.cs new file mode 100644 index 0000000..93cbf99 --- /dev/null +++ b/src/JT808.DotNetty/Internal/JT808SessionPublishingRedisImpl.cs @@ -0,0 +1,40 @@ +using JT808.DotNetty.Interfaces; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using StackExchange.Redis; +using Microsoft.Extensions.Options; +using JT808.DotNetty.Configurations; +using Microsoft.Extensions.Logging; + +namespace JT808.DotNetty.Internal +{ + internal class JT808SessionPublishingRedisImpl : IJT808SessionPublishing + { + private IConnectionMultiplexer connectionMultiplexer; + + private IOptionsMonitor optionsMonitor; + + private ILogger logger; + + private JT808SessionPublishingRedisImpl( + ILoggerFactory loggerFactory, + IOptionsMonitor optionsMonitor + ) + { + this.optionsMonitor = optionsMonitor; + logger = loggerFactory.CreateLogger(); + connectionMultiplexer = ConnectionMultiplexer.Connect(optionsMonitor.CurrentValue.RedisHost); + } + + public Task PublishAsync(string topicName, string key, string value) + { + if (connectionMultiplexer.IsConnected) + { + + } + return Task.CompletedTask; + } + } +}