From 109d8976c5368b0be7f503ba1c14bfc0ec61bd1a Mon Sep 17 00:00:00 2001 From: "SmallChi(Koike)" <564952747@qq.com> Date: Thu, 11 Mar 2021 10:43:52 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0SIM=E9=BB=91=E5=90=8D?= =?UTF-8?q?=E5=8D=95=E7=AE=A1=E7=90=86=E5=8F=8A=E5=AF=B9=E5=BA=94=E7=9A=84?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=8E=A5=E5=8F=A3=E5=92=8C=E6=96=87?= =?UTF-8?q?=E6=A1=A3=202.=E5=B0=86=E5=8E=9F=E6=9D=A5=E7=9A=84=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=A4=84=E7=90=86=E6=8E=A5=E5=8F=A3=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E8=A1=8C=E6=A0=87=E8=AF=86=203.=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=96=87=E6=A1=A3=204.=E5=8E=BB=E6=8E=89=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E7=B1=BB=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 36 +++---- api/README_Pipeline.md | 95 +++++++++++++++++++ publish.bat | 2 +- publish.gateway.bat | 1 + .../Enums/JT808ConsumerType.cs | 18 ---- .../Enums/JT808TransportProtocolType.cs | 8 +- ...Handler.cs => IJT808DownMessageHandler.cs} | 9 +- .../IJT808UpMessageHandler.cs | 23 +++++ .../JT808.Gateway.Abstractions.xml | 71 ++++++++++++-- .../JT808MessageHandler.cs | 23 ++++- src/JT808.Gateway.Kafka/JT808MsgConsumer.cs | 4 +- .../JT808MsgReplyConsumer.cs | 3 +- .../JT808MsgReplyLoggingConsumer.cs | 3 +- .../JT808.Gateway.MsgIdHandler.csproj | 4 +- .../JT808MsgIdHandlerExtensions.cs | 6 +- .../JT808MsgIdHandlerHostedService.cs | 6 +- .../JT808.Gateway.ReplyMessage.xml | 21 +++- .../JT808ReplyMessageExtensions.cs | 9 +- .../JT808ReplyMessageHostedService.cs | 14 ++- .../JT808.Gateway.SessionNotice.xml | 8 +- .../JT808SessionNoticeExtensions.cs | 8 +- ...Impl.cs => JT808DownMessageHandlerImpl.cs} | 6 +- .../Impl/JT808UpMessageHandlerImpl.cs | 33 +++++++ .../JT808.Gateway.QueueHosting.csproj | 1 + .../JT808.Gateway.QueueHosting/Program.cs | 5 +- .../appsettings.json | 2 +- .../JT808HttpClient.cs | 2 +- src/JT808.Gateway.sln | 7 ++ src/Version.props | 2 +- 29 files changed, 341 insertions(+), 89 deletions(-) delete mode 100644 src/JT808.Gateway.Abstractions/Enums/JT808ConsumerType.cs rename src/JT808.Gateway.Abstractions/{IJT808ReplyMessageHandler.cs => IJT808DownMessageHandler.cs} (66%) create mode 100644 src/JT808.Gateway.Abstractions/IJT808UpMessageHandler.cs rename src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/{JT808ReplyMessageHandlerImpl.cs => JT808DownMessageHandlerImpl.cs} (91%) create mode 100644 src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808UpMessageHandlerImpl.cs diff --git a/README.md b/README.md index 27488c8..d7466bb 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ | 服务名称 | 服务说明 | 使用场景 | | :-------------------------------- | :----------- | :----------------------------------------------------------------------------------------------------------------- | -| MsgIdHandler (v1.1.0新版pipeline) | 消息处理服务 | 从队列中消费设备上报数据,再结合自身的业务场景,将数据进行处理并入库 | +| MsgIdHandler | 消息处理服务 | 从队列中消费设备上报数据,再结合自身的业务场景,将数据进行处理并入库 | | MsgLogging | 消息日志服务 | 从队列中消费设备上报和平台应答数据,再将数据存入influxdb等数据库中,便于技术和技术支持排查设备与平台交互的原始数据 | | ReplyMessage | 消息响应服务 | 用于响应设备上报消息,以及下发指令信息到设备 | | SessionNotice | 会话管理服务 | 通知设备上线下线,对于udp设备来说,可以在设备上线时,将指令跟随消息下发到设备 | @@ -83,29 +83,29 @@ Pipeline分为两种方式使用,一种是使用队列的方式,一种是网 | Install-Package JT808.Gateway.SessionNotice | ![JT808.Gateway.SessionNotice](https://img.shields.io/nuget/v/JT808.Gateway.SessionNotice.svg) | ![JT808.Gateway.SessionNotice](https://img.shields.io/nuget/vpre/JT808.Gateway.SessionNotice.svg) | ![JT808.Gateway.SessionNotice](https://img.shields.io/nuget/dt/JT808.Gateway.SessionNotice.svg) | | Install-Package JT808.Gateway.ReplyMessage | ![JT808.Gateway.ReplyMessage](https://img.shields.io/nuget/v/JT808.Gateway.ReplyMessage.svg) | ![JT808.Gateway.ReplyMessage](https://img.shields.io/nuget/vpre/JT808.Gateway.ReplyMessage.svg) | ![JT808.Gateway.ReplyMessage](https://img.shields.io/nuget/dt/JT808.Gateway.ReplyMessage.svg) | | Install-Package JT808.Gateway.MsgLogging | ![JT808.Gateway.MsgLogging](https://img.shields.io/nuget/v/JT808.Gateway.MsgLogging.svg) | ![JT808.Gateway.MsgLogging](https://img.shields.io/nuget/vpre/JT808.Gateway.MsgLogging.svg) | ![JT808.Gateway.MsgLogging](https://img.shields.io/nuget/dt/JT808.Gateway.MsgLogging.svg) | -| Install-Package JT808.Gateway.MsgIdHandler (v1.1.0新版已移出) | ![JT808.Gateway.MsgIdHandler](https://img.shields.io/nuget/v/JT808.Gateway.MsgIdHandler.svg) | ![JT808.Gateway.MsgIdHandler](https://img.shields.io/nuget/vpre/JT808.Gateway.MsgIdHandler.svg) | ![JT808.Gateway.MsgIdHandler](https://img.shields.io/nuget/dt/JT808.Gateway.MsgIdHandler.svg) | +| Install-Package JT808.Gateway.MsgIdHandler | ![JT808.Gateway.MsgIdHandler](https://img.shields.io/nuget/v/JT808.Gateway.MsgIdHandler.svg) | ![JT808.Gateway.MsgIdHandler](https://img.shields.io/nuget/vpre/JT808.Gateway.MsgIdHandler.svg) | ![JT808.Gateway.MsgIdHandler](https://img.shields.io/nuget/dt/JT808.Gateway.MsgIdHandler.svg) | | Install-Package JT808.Gateway.Traffic (v1.1.0新版已移出) | ![JT808.Gateway.Traffic](https://img.shields.io/nuget/v/JT808.Gateway.Traffic.svg) | ![JT808.Gateway.Traffic](https://img.shields.io/nuget/vpre/JT808.Gateway.Traffic.svg) | ![JT808.Gateway.Traffic](https://img.shields.io/nuget/dt/JT808.Gateway.Traffic.svg) | ## 基于DotNetty ### DotNetty的NuGet安装 -| Package Name | Version | Downloads | -| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- | -| Install-Package JT808.DotNetty.Abstractions | ![JT808.DotNetty.Abstractions](https://img.shields.io/nuget/v/JT808.DotNetty.Abstractions.svg) | ![JT808.DotNetty.Abstractions](https://img.shields.io/nuget/dt/JT808.DotNetty.Abstractions.svg) | -| Install-Package JT808.DotNetty.Core | ![JT808.DotNetty.Core](https://img.shields.io/nuget/v/JT808.DotNetty.Core.svg) | ![JT808.DotNetty.Core](https://img.shields.io/nuget/dt/JT808.DotNetty.Core.svg) | -| Install-Package JT808.DotNetty.Tcp | ![JT808.DotNetty.Tcp](https://img.shields.io/nuget/v/JT808.DotNetty.Tcp.svg) | ![JT808.DotNetty.Tcp](https://img.shields.io/nuget/dt/JT808.DotNetty.Tcp.svg) | -| Install-Package JT808.DotNetty.Udp | ![JT808.DotNetty.Udp](https://img.shields.io/nuget/v/JT808.DotNetty.Udp.svg) | ![JT808.DotNetty.Udp](https://img.shields.io/nuget/dt/JT808.DotNetty.Udp.svg) | -| Install-Package JT808.DotNetty.WebApi | ![JT808.DotNetty.WebApi](https://img.shields.io/nuget/v/JT808.DotNetty.WebApi.svg) | ![JT808.DotNetty.WebApi](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApi.svg) | -| Install-Package JT808.DotNetty.WebApiClientTool | ![JT808.DotNetty.WebApiClientTool](https://img.shields.io/nuget/v/JT808.DotNetty.WebApiClientTool.svg) | ![JT808.DotNetty.WebApiClientTool](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApiClientTool.svg) | -| Install-Package JT808.DotNetty.Client | ![JT808.DotNetty.Client](https://img.shields.io/nuget/v/JT808.DotNetty.Client.svg) | ![JT808.DotNetty.Client](https://img.shields.io/nuget/dt/JT808.DotNetty.Client.svg) | -| Install-Package JT808.DotNetty.Transmit | ![JT808.DotNetty.Transmit](https://img.shields.io/nuget/v/JT808.DotNetty.Transmit.svg) | ![JT808.DotNetty.Transmit](https://img.shields.io/nuget/dt/JT808.DotNetty.Transmit.svg) | -| Install-Package JT808.DotNetty.Traffic | ![JT808.DotNetty.Traffic](https://img.shields.io/nuget/v/JT808.DotNetty.Traffic.svg) | ![JT808.DotNetty.Traffic](https://img.shields.io/nuget/dt/JT808.DotNetty.Traffic.svg) | -| Install-Package JT808.DotNetty.SessionNotice | ![JT808.DotNetty.SessionNotice](https://img.shields.io/nuget/v/JT808.DotNetty.SessionNotice.svg) | ![JT808.DotNetty.SessionNotice](https://img.shields.io/nuget/dt/JT808.DotNetty.SessionNotice.svg) | -| Install-Package JT808.DotNetty.ReplyMessage | ![JT808.DotNetty.ReplyMessage](https://img.shields.io/nuget/v/JT808.DotNetty.ReplyMessage.svg) | ![JT808.DotNetty.ReplyMessage](https://img.shields.io/nuget/dt/JT808.DotNetty.ReplyMessage.svg) | -| Install-Package JT808.DotNetty.MsgLogging | ![JT808.DotNetty.MsgLogging](https://img.shields.io/nuget/v/JT808.DotNetty.MsgLogging.svg) | ![JT808.DotNetty.MsgLogging](https://img.shields.io/nuget/dt/JT808.DotNetty.MsgLogging.svg) | -| Install-Package JT808.DotNetty.MsgIdHandler | ![JT808.DotNetty.MsgIdHandler](https://img.shields.io/nuget/v/JT808.DotNetty.MsgIdHandler.svg) | ![JT808.DotNetty.MsgIdHandler](https://img.shields.io/nuget/dt/JT808.DotNetty.MsgIdHandler.svg) | -| Install-Package JT808.DotNetty.Kafka | ![JT808.DotNetty.Kafka](https://img.shields.io/nuget/v/JT808.DotNetty.Kafka.svg) | ![JT808.DotNetty.Kafka](https://img.shields.io/nuget/dt/JT808.DotNetty.Kafka.svg) | +| Package Name| Version |Preview Version | Downloads| +| --- | --- | ---| ---| +| Install-Package JT808.DotNetty.Abstractions | ![JT808.DotNetty.Abstractions](https://img.shields.io/nuget/v/JT808.DotNetty.Abstractions.svg)| ![JT808.DotNetty.Abstractions](https://img.shields.io/nuget/vpre/JT808.DotNetty.Abstractions.svg) | ![JT808.DotNetty.Abstractions](https://img.shields.io/nuget/dt/JT808.DotNetty.Abstractions.svg) | +| Install-Package JT808.DotNetty.Core | ![JT808.DotNetty.Core](https://img.shields.io/nuget/v/JT808.DotNetty.Core.svg) | ![JT808.DotNetty.Core](https://img.shields.io/nuget/vpre/JT808.DotNetty.Core.svg) | ![JT808.DotNetty.Core](https://img.shields.io/nuget/dt/JT808.DotNetty.Core.svg) | +| Install-Package JT808.DotNetty.Tcp | ![JT808.DotNetty.Tcp](https://img.shields.io/nuget/v/JT808.DotNetty.Tcp.svg) | ![JT808.DotNetty.Tcp](https://img.shields.io/nuget/vpre/JT808.DotNetty.Tcp.svg) | ![JT808.DotNetty.Tcp](https://img.shields.io/nuget/dt/JT808.DotNetty.Tcp.svg) | +| Install-Package JT808.DotNetty.Udp | ![JT808.DotNetty.Udp](https://img.shields.io/nuget/v/JT808.DotNetty.Udp.svg) | ![JT808.DotNetty.Udp](https://img.shields.io/nuget/vpre/JT808.DotNetty.Udp.svg) | ![JT808.DotNetty.Udp](https://img.shields.io/nuget/dt/JT808.DotNetty.Udp.svg) | +| Install-Package JT808.DotNetty.WebApi | ![JT808.DotNetty.WebApi](https://img.shields.io/nuget/v/JT808.DotNetty.WebApi.svg) | ![JT808.DotNetty.WebApi](https://img.shields.io/nuget/vpre/JT808.DotNetty.WebApi.svg) | ![JT808.DotNetty.WebApi](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApi.svg) | +| Install-Package JT808.DotNetty.WebApiClientTool | ![JT808.DotNetty.WebApiClientTool](https://img.shields.io/nuget/v/JT808.DotNetty.WebApiClientTool.svg) | ![JT808.DotNetty.WebApiClientTool](https://img.shields.io/nuget/vpre/JT808.DotNetty.WebApiClientTool.svg) | ![JT808.DotNetty.WebApiClientTool](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApiClientTool.svg) | +| Install-Package JT808.DotNetty.Client | ![JT808.DotNetty.Client](https://img.shields.io/nuget/v/JT808.DotNetty.Client.svg) | ![JT808.DotNetty.Client](https://img.shields.io/nuget/vpre/JT808.DotNetty.Client.svg) | ![JT808.DotNetty.Client](https://img.shields.io/nuget/dt/JT808.DotNetty.Client.svg) | +| Install-Package JT808.DotNetty.Transmit | ![JT808.DotNetty.Transmit](https://img.shields.io/nuget/v/JT808.DotNetty.Transmit.svg) | ![JT808.DotNetty.Transmit](https://img.shields.io/nuget/vpre/JT808.DotNetty.Transmit.svg) | ![JT808.DotNetty.Transmit](https://img.shields.io/nuget/dt/JT808.DotNetty.Transmit.svg) | +| Install-Package JT808.DotNetty.Traffic | ![JT808.DotNetty.Traffic](https://img.shields.io/nuget/v/JT808.DotNetty.Traffic.svg) | ![JT808.DotNetty.Traffic](https://img.shields.io/nuget/vpre/JT808.DotNetty.Traffic.svg) | ![JT808.DotNetty.Traffic](https://img.shields.io/nuget/dt/JT808.DotNetty.Traffic.svg) | +| Install-Package JT808.DotNetty.SessionNotice | ![JT808.DotNetty.SessionNotice](https://img.shields.io/nuget/v/JT808.DotNetty.SessionNotice.svg)| ![JT808.DotNetty.SessionNotice](https://img.shields.io/nuget/vpre/JT808.DotNetty.SessionNotice.svg) | ![JT808.DotNetty.SessionNotice](https://img.shields.io/nuget/dt/JT808.DotNetty.SessionNotice.svg) | +| Install-Package JT808.DotNetty.ReplyMessage | ![JT808.DotNetty.ReplyMessage](https://img.shields.io/nuget/v/JT808.DotNetty.ReplyMessage.svg) | ![JT808.DotNetty.ReplyMessage](https://img.shields.io/nuget/vpre/JT808.DotNetty.ReplyMessage.svg) | ![JT808.DotNetty.ReplyMessage](https://img.shields.io/nuget/dt/JT808.DotNetty.ReplyMessage.svg) | +| Install-Package JT808.DotNetty.MsgLogging | ![JT808.DotNetty.MsgLogging](https://img.shields.io/nuget/v/JT808.DotNetty.MsgLogging.svg) | ![JT808.DotNetty.Abstractions](https://img.shields.io/nuget/vpre/JT808.DotNetty.MsgLogging.svg) | ![JT808.DotNetty.MsgLogging](https://img.shields.io/nuget/dt/JT808.DotNetty.MsgLogging.svg) || ![JT808.DotNetty.MsgLogging](https://img.shields.io/nuget/vpre/JT808.DotNetty.MsgLogging.svg) +| Install-Package JT808.DotNetty.MsgIdHandler | ![JT808.DotNetty.MsgIdHandler](https://img.shields.io/nuget/v/JT808.DotNetty.MsgIdHandler.svg) | ![JT808.DotNetty.MsgIdHandler](https://img.shields.io/nuget/vpre/JT808.DotNetty.MsgIdHandler.svg) | ![JT808.DotNetty.MsgIdHandler](https://img.shields.io/nuget/dt/JT808.DotNetty.MsgIdHandler.svg) | +| Install-Package JT808.DotNetty.Kafka | ![JT808.DotNetty.Kafka](https://img.shields.io/nuget/v/JT808.DotNetty.Kafka.svg) | ![JT808.DotNetty.Kafka](https://img.shields.io/nuget/vpre/JT808.DotNetty.Kafka.svg) | ![JT808.DotNetty.Kafka](https://img.shields.io/nuget/dt/JT808.DotNetty.Kafka.svg) | ![JT808.DotNetty.Kafka](https://img.shields.io/nuget/vpre/JT808.DotNetty.Kafka.svg) | ## 举个栗子 diff --git a/api/README_Pipeline.md b/api/README_Pipeline.md index 3ef8112..570e672 100644 --- a/api/README_Pipeline.md +++ b/api/README_Pipeline.md @@ -18,6 +18,10 @@ [基于Udp管理会话服务](#udp_session) +## 3.SIM黑名单管理服务 + +[SIM黑名单管理服务](#blacklist) + ## 接口请求对照表 ### 公共接口请求 @@ -42,6 +46,14 @@ | 127.0.0.1:828/jt808api/Udp/Session/QueryUdpSessionByTerminalPhoneNo| POST| 基于Udp管理会话服务-通过设备终端号查询对应会话| | 127.0.0.1:828/jt808api/Udp/Session/RemoveUdpByTerminalPhoneNo| POST| 基于Udp管理会话服务-通过设备终端号移除对应会话| +### SIM黑名单管理接口请求 + +|请求Url|请求方式|说明| +|:------|:------|:------| +| 127.0.0.1:828/jt808api/Blacklist/Add| POST| SIM卡黑名单服务-将对应SIM号加入黑名单| +| 127.0.0.1:828/jt808api/Blacklist/Remove| POST| SIM卡黑名单服务-将对应SIM号移除黑名单| +| 127.0.0.1:828/jt808api/Blacklist/Get| Get| SIM卡黑名单服务-获取所有sim的黑名单列表| + ### 统一对象返回 JT808ResultDto\ |属性|数据类型|参数说明| @@ -299,3 +311,86 @@ "Data":true } ``` + +### SIM黑名单管理服务 + +#### 1.添加sim卡黑名单 + +请求地址:Blacklist/Add + +请求方式:POST + +请求参数: + +|属性|数据类型|参数说明| +|:------:|:------:|:------| +| terminalPhoneNo| string| 设备终端号| + +返回数据: + +|属性|数据类型|参数说明| +|:------:|:------:|:------| +| Data| bool | 是否成功 + +返回结果: + +``` session3 +{ + "Message":"", + "Code":200, + "Data":true +} +``` + +#### 2.移除sim卡黑名单 + +请求地址:Blacklist/Remove + +请求方式:POST + +请求参数: + +|属性|数据类型|参数说明| +|:------:|:------:|:------| +| terminalPhoneNo| string| 设备终端号| + +返回数据: + +|属性|数据类型|参数说明| +|:------:|:------:|:------| +| Data| bool | 是否成功 + +返回结果: + +``` session3 +{ + "Message":"", + "Code":200, + "Data":true +} +``` + +#### 3.移除sim卡黑名单 + +请求地址:Blacklist/Get + +请求方式:GET + +返回数据: + +|属性|数据类型|参数说明| +|:------:|:------:|:------| +| terminalPhoneNo| List\| 设备终端号集合| + +返回结果: + +``` session3 +{ + "Message":"", + "Code":200, + "Data":[ + "12345678901", + "12345678902" + ] +} +``` diff --git a/publish.bat b/publish.bat index 7b2ef0b..e5ad773 100644 --- a/publish.bat +++ b/publish.bat @@ -8,7 +8,7 @@ dotnet pack .\src\JT808.DotNetty.Client\JT808.DotNetty.Client.csproj -c Release dotnet pack .\src\JT808.DotNetty.Abstractions\JT808.DotNetty.Abstractions.csproj -c Release --output nupkgs echo 'push service pacakge...' -dotnet pack .\src\JT808.DotNetty.Services\JT808.DotNetty.MsgIdHandler\JT808.DotNetty.MsgIdHandler.csproj -c Release--output nupkgs +dotnet pack .\src\JT808.DotNetty.Services\JT808.DotNetty.MsgIdHandler\JT808.DotNetty.MsgIdHandler.csproj -c Release --output nupkgs dotnet pack .\src\JT808.DotNetty.Services\JT808.DotNetty.MsgLogging\JT808.DotNetty.MsgLogging.csproj -c Release --output nupkgs dotnet pack .\src\JT808.DotNetty.Services\JT808.DotNetty.ReplyMessage\JT808.DotNetty.ReplyMessage.csproj -c Release --output nupkgs dotnet pack .\src\JT808.DotNetty.Services\JT808.DotNetty.SessionNotice\JT808.DotNetty.SessionNotice.csproj -c Release --output nupkgs diff --git a/publish.gateway.bat b/publish.gateway.bat index 9cb6fb1..3b4d61a 100644 --- a/publish.gateway.bat +++ b/publish.gateway.bat @@ -9,4 +9,5 @@ dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.MsgLogging\JT808.Gateway. dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.ReplyMessage\JT808.Gateway.ReplyMessage.csproj -c Release --output nupkgs dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.SessionNotice\JT808.Gateway.SessionNotice.csproj -c Release --output nupkgs dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.Transmit\JT808.Gateway.Transmit.csproj -c Release --output nupkgs +dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.MsgIdHandler\JT808.Gateway.MsgIdHandler.csproj -c Release --output nupkgs pause \ No newline at end of file diff --git a/src/JT808.Gateway.Abstractions/Enums/JT808ConsumerType.cs b/src/JT808.Gateway.Abstractions/Enums/JT808ConsumerType.cs deleted file mode 100644 index 5c9d8e8..0000000 --- a/src/JT808.Gateway.Abstractions/Enums/JT808ConsumerType.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace JT808.Gateway.Abstractions.Enums -{ - [Flags] - public enum JT808ConsumerType:int - { - MsgIdHandlerConsumer=1, - MsgLoggingConsumer=2, - ReplyMessageConsumer=4, - TrafficConsumer=8, - TransmitConsumer=16, - ReplyMessageLoggingConsumer = 32, - All = 64, - } -} diff --git a/src/JT808.Gateway.Abstractions/Enums/JT808TransportProtocolType.cs b/src/JT808.Gateway.Abstractions/Enums/JT808TransportProtocolType.cs index 4924be1..4844d2e 100644 --- a/src/JT808.Gateway.Abstractions/Enums/JT808TransportProtocolType.cs +++ b/src/JT808.Gateway.Abstractions/Enums/JT808TransportProtocolType.cs @@ -9,7 +9,13 @@ namespace JT808.Gateway.Abstractions.Enums /// public enum JT808TransportProtocolType { - tcp=1, + /// + /// tcp + /// + tcp = 1, + /// + /// udp + /// udp = 2 } } diff --git a/src/JT808.Gateway.Abstractions/IJT808ReplyMessageHandler.cs b/src/JT808.Gateway.Abstractions/IJT808DownMessageHandler.cs similarity index 66% rename from src/JT808.Gateway.Abstractions/IJT808ReplyMessageHandler.cs rename to src/JT808.Gateway.Abstractions/IJT808DownMessageHandler.cs index 176308c..48bb9c3 100644 --- a/src/JT808.Gateway.Abstractions/IJT808ReplyMessageHandler.cs +++ b/src/JT808.Gateway.Abstractions/IJT808DownMessageHandler.cs @@ -8,13 +8,16 @@ using System.Text; namespace JT808.Gateway.Abstractions { - public interface IJT808ReplyMessageHandler + /// + /// 下行消息处理接口 + /// + public interface IJT808DownMessageHandler { /// /// /// - /// 请求数据 - /// 当前会话 + /// sim + /// 808 hex /// 应答消息数据 public byte[] Processor(string TerminalNo, byte[] Data); } diff --git a/src/JT808.Gateway.Abstractions/IJT808UpMessageHandler.cs b/src/JT808.Gateway.Abstractions/IJT808UpMessageHandler.cs new file mode 100644 index 0000000..c116283 --- /dev/null +++ b/src/JT808.Gateway.Abstractions/IJT808UpMessageHandler.cs @@ -0,0 +1,23 @@ +using JT808.Protocol; +using JT808.Protocol.Enums; +using JT808.Protocol.Extensions; +using JT808.Protocol.MessageBody; +using System; +using System.Collections.Generic; +using System.Text; + +namespace JT808.Gateway.Abstractions +{ + /// + /// 上行消息处理接口 + /// + public interface IJT808UpMessageHandler + { + /// + /// + /// + /// sim + /// 808 hex + public void Processor(string TerminalNo, byte[] Data); + } +} diff --git a/src/JT808.Gateway.Abstractions/JT808.Gateway.Abstractions.xml b/src/JT808.Gateway.Abstractions/JT808.Gateway.Abstractions.xml index 6dd7f9e..e43178a 100644 --- a/src/JT808.Gateway.Abstractions/JT808.Gateway.Abstractions.xml +++ b/src/JT808.Gateway.Abstractions/JT808.Gateway.Abstractions.xml @@ -115,6 +115,16 @@ 传输协议类型 + + + tcp + + + + + udp + + JT808会话扩展 @@ -134,6 +144,19 @@ + + + 下行消息处理接口 + + + + + + + sim + 808 hex + 应答消息数据 + @@ -155,14 +178,6 @@ 设备终端号 808 hex data - - - - - 请求数据 - 当前会话 - 应答消息数据 - 终端手机号 @@ -185,6 +200,18 @@ + + + 上行消息处理接口 + + + + + + + sim + 808 hex + 基于Tcp的会话服务集合 @@ -240,6 +267,34 @@ 通用消息处理程序 + + + 处理消息工厂 + + + + + + + + + + + + JT808序列化器 + + + + + JT808配置 + + + + + + + + 消息处理 diff --git a/src/JT808.Gateway.Abstractions/JT808MessageHandler.cs b/src/JT808.Gateway.Abstractions/JT808MessageHandler.cs index 482d5a3..65fe306 100644 --- a/src/JT808.Gateway.Abstractions/JT808MessageHandler.cs +++ b/src/JT808.Gateway.Abstractions/JT808MessageHandler.cs @@ -4,10 +4,6 @@ using JT808.Protocol.Extensions; using JT808.Protocol.MessageBody; using System; using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Microsoft.Extensions.Options; -using JT808.Gateway.Abstractions.Configurations; namespace JT808.Gateway.Abstractions { @@ -16,13 +12,30 @@ namespace JT808.Gateway.Abstractions /// public class JT808MessageHandler { + /// + /// 处理消息工厂 + /// protected Dictionary HandlerDict { get; } + /// + /// + /// + /// + /// protected delegate byte[] MsgIdMethodDelegate(JT808HeaderPackage package); + /// + /// JT808序列化器 + /// protected JT808Serializer JT808Serializer { get; } + /// + /// JT808配置 + /// protected IJT808Config JT808Config; - + /// + /// + /// + /// public JT808MessageHandler(IJT808Config jT808Config) { this.JT808Config = jT808Config; diff --git a/src/JT808.Gateway.Kafka/JT808MsgConsumer.cs b/src/JT808.Gateway.Kafka/JT808MsgConsumer.cs index b4b184f..5eed300 100644 --- a/src/JT808.Gateway.Kafka/JT808MsgConsumer.cs +++ b/src/JT808.Gateway.Kafka/JT808MsgConsumer.cs @@ -53,9 +53,9 @@ namespace JT808.Gateway.Kafka { logger.LogError(ex, TopicName); } - catch (OperationCanceledException ex) + catch (OperationCanceledException) { - logger.LogError(ex, TopicName); + } catch (Exception ex) { diff --git a/src/JT808.Gateway.Kafka/JT808MsgReplyConsumer.cs b/src/JT808.Gateway.Kafka/JT808MsgReplyConsumer.cs index 8dfb760..7b500e7 100644 --- a/src/JT808.Gateway.Kafka/JT808MsgReplyConsumer.cs +++ b/src/JT808.Gateway.Kafka/JT808MsgReplyConsumer.cs @@ -53,9 +53,8 @@ namespace JT808.Gateway.Kafka { logger.LogError(ex, TopicName); } - catch (OperationCanceledException ex) + catch (OperationCanceledException) { - logger.LogError(ex, TopicName); } catch (Exception ex) { diff --git a/src/JT808.Gateway.Kafka/JT808MsgReplyLoggingConsumer.cs b/src/JT808.Gateway.Kafka/JT808MsgReplyLoggingConsumer.cs index 7d997f9..93f74b8 100644 --- a/src/JT808.Gateway.Kafka/JT808MsgReplyLoggingConsumer.cs +++ b/src/JT808.Gateway.Kafka/JT808MsgReplyLoggingConsumer.cs @@ -53,9 +53,8 @@ namespace JT808.Gateway.Kafka { logger.LogError(ex, TopicName); } - catch (OperationCanceledException ex) + catch (OperationCanceledException) { - logger.LogError(ex, TopicName); } catch (Exception ex) { diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj index 11a9963..5b70171 100644 --- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj +++ b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj @@ -2,8 +2,8 @@ - netstandard2.1 - 8.0 + netstandard2.1;net5.0; + 9.0 Copyright 2019. SmallChi(Koike) https://github.com/SmallChi/JT808Gateway diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs index 4a711e8..1492a4e 100644 --- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs +++ b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs @@ -8,10 +8,10 @@ namespace JT808.Gateway.MsgIdHandler { public static class JT808MsgIdHandlerExtensions { - public static IJT808ClientBuilder AddMsgIdHandler(this IJT808ClientBuilder jT808ClientBuilder) - where TJT808MsgIdHandler: IJT808MsgIdHandler + public static IJT808ClientBuilder AddMsgIdHandler(this IJT808ClientBuilder jT808ClientBuilder) + where TJT808UpMessageHandler : IJT808UpMessageHandler { - jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808MsgIdHandler),typeof(TJT808MsgIdHandler)); + jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808UpMessageHandler),typeof(TJT808UpMessageHandler)); jT808ClientBuilder.JT808Builder.Services.AddHostedService(); return jT808ClientBuilder; } diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs index db2a100..295ee46 100644 --- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs +++ b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs @@ -9,9 +9,9 @@ namespace JT808.Gateway.MsgIdHandler { private readonly IJT808MsgConsumer jT808MsgConsumer; - private readonly IJT808MsgIdHandler jT808MsgIdHandler; + private readonly IJT808UpMessageHandler jT808MsgIdHandler; public JT808MsgIdHandlerHostedService( - IJT808MsgIdHandler jT808MsgIdHandler, + IJT808UpMessageHandler jT808MsgIdHandler, IJT808MsgConsumer jT808MsgConsumer) { this.jT808MsgIdHandler = jT808MsgIdHandler; @@ -21,7 +21,7 @@ namespace JT808.Gateway.MsgIdHandler public Task StartAsync(CancellationToken cancellationToken) { jT808MsgConsumer.Subscribe(); - jT808MsgConsumer.OnMessage(jT808MsgIdHandler.Processor); + jT808MsgConsumer.OnMessage((Msg)=>jT808MsgIdHandler.Processor(Msg.TerminalNo, Msg.Data)); return Task.CompletedTask; } diff --git a/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808.Gateway.ReplyMessage.xml b/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808.Gateway.ReplyMessage.xml index 8adc0e8..67a013d 100644 --- a/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808.Gateway.ReplyMessage.xml +++ b/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808.Gateway.ReplyMessage.xml @@ -4,12 +4,31 @@ JT808.Gateway.ReplyMessage + + + 消息应答服务扩展 + + - 消息应答服务 + 消息下行服务 + + + + + + + + + + + + + + diff --git a/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808ReplyMessageExtensions.cs b/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808ReplyMessageExtensions.cs index 4a2ba60..a2fb0e3 100644 --- a/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808ReplyMessageExtensions.cs +++ b/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808ReplyMessageExtensions.cs @@ -8,17 +8,20 @@ using System.Text; namespace JT808.Gateway.ReplyMessage { + /// + /// 消息应答服务扩展 + /// public static class JT808ReplyMessageExtensions { /// - /// 消息应答服务 + /// 消息下行服务 /// /// /// public static IJT808ClientBuilder AddReplyMessage(this IJT808ClientBuilder jT808ClientBuilder) - where TJT808ReplyMessageHandler : IJT808ReplyMessageHandler + where TJT808ReplyMessageHandler : IJT808DownMessageHandler { - jT808ClientBuilder.JT808Builder.Services.Add(new ServiceDescriptor(typeof(IJT808ReplyMessageHandler),typeof(TJT808ReplyMessageHandler), ServiceLifetime.Singleton)); + jT808ClientBuilder.JT808Builder.Services.Add(new ServiceDescriptor(typeof(IJT808DownMessageHandler),typeof(TJT808ReplyMessageHandler), ServiceLifetime.Singleton)); jT808ClientBuilder.JT808Builder.Services.AddHostedService(); return jT808ClientBuilder; } diff --git a/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808ReplyMessageHostedService.cs b/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808ReplyMessageHostedService.cs index 35178c6..2309b91 100644 --- a/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808ReplyMessageHostedService.cs +++ b/src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808ReplyMessageHostedService.cs @@ -6,15 +6,25 @@ using Microsoft.Extensions.Logging; namespace JT808.Gateway.ReplyMessage { + /// + /// + /// public class JT808ReplyMessageHostedService : IHostedService { private IJT808MsgConsumer jT808MsgConsumer; - private IJT808ReplyMessageHandler jT808ReplyMessageHandler; + private IJT808DownMessageHandler jT808ReplyMessageHandler; private IJT808MsgReplyProducer jT808MsgReplyProducer; private ILogger logger; + /// + /// + /// + /// + /// + /// + /// public JT808ReplyMessageHostedService( ILoggerFactory loggerFactory, - IJT808ReplyMessageHandler jT808ReplyMessageHandler, + IJT808DownMessageHandler jT808ReplyMessageHandler, IJT808MsgReplyProducer jT808MsgReplyProducer, IJT808MsgConsumer jT808MsgConsumer) { diff --git a/src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808.Gateway.SessionNotice.xml b/src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808.Gateway.SessionNotice.xml index 59446ff..425470e 100644 --- a/src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808.Gateway.SessionNotice.xml +++ b/src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808.Gateway.SessionNotice.xml @@ -6,14 +6,14 @@ - 会话通知服务(不同的消费者实例) + 会话通知服务 - 消息会话通知服务(不同的消费者实例) + 消息会话通知服务 自定义会话通知服务 @@ -21,14 +21,14 @@ - 会话通知服务(不同的消费者实例) + 会话通知服务 - 消息会话通知服务(不同的消费者实例) + 消息会话通知服务 自定义会话通知服务 diff --git a/src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808SessionNoticeExtensions.cs b/src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808SessionNoticeExtensions.cs index d59c22b..5b6682d 100644 --- a/src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808SessionNoticeExtensions.cs +++ b/src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808SessionNoticeExtensions.cs @@ -10,7 +10,7 @@ namespace JT808.Gateway.SessionNotice public static class JT808SessionNoticeExtensions { /// - /// 会话通知服务(不同的消费者实例) + /// 会话通知服务 /// /// /// @@ -22,7 +22,7 @@ namespace JT808.Gateway.SessionNotice } /// - /// 消息会话通知服务(不同的消费者实例) + /// 消息会话通知服务 /// /// 自定义会话通知服务 /// @@ -36,7 +36,7 @@ namespace JT808.Gateway.SessionNotice } /// - /// 会话通知服务(不同的消费者实例) + /// 会话通知服务 /// /// /// @@ -48,7 +48,7 @@ namespace JT808.Gateway.SessionNotice } /// - /// 消息会话通知服务(不同的消费者实例) + /// 消息会话通知服务 /// /// 自定义会话通知服务 /// diff --git a/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808ReplyMessageHandlerImpl.cs b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808DownMessageHandlerImpl.cs similarity index 91% rename from src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808ReplyMessageHandlerImpl.cs rename to src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808DownMessageHandlerImpl.cs index 9681db7..962a268 100644 --- a/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808ReplyMessageHandlerImpl.cs +++ b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808DownMessageHandlerImpl.cs @@ -10,16 +10,16 @@ using System.Text; namespace JT808.Gateway.QueueHosting.Impl { - public class JT808ReplyMessageHandlerImpl : IJT808ReplyMessageHandler + public class JT808DownMessageHandlerImpl : IJT808DownMessageHandler { private ILogger logger; private JT808Serializer JT808Serializer; - public JT808ReplyMessageHandlerImpl( + public JT808DownMessageHandlerImpl( IJT808Config jT808Config, ILoggerFactory loggerFactory) { - logger = loggerFactory.CreateLogger(); + logger = loggerFactory.CreateLogger(); JT808Serializer = jT808Config.GetSerializer(); } diff --git a/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808UpMessageHandlerImpl.cs b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808UpMessageHandlerImpl.cs new file mode 100644 index 0000000..c4418b5 --- /dev/null +++ b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Impl/JT808UpMessageHandlerImpl.cs @@ -0,0 +1,33 @@ +using JT808.Gateway.Abstractions; +using JT808.Protocol; +using JT808.Protocol.Extensions; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JT808.Gateway.QueueHosting.Impl +{ + public class JT808UpMessageHandlerImpl : IJT808UpMessageHandler + { + private ILogger logger; + private JT808Serializer JT808Serializer; + + public JT808UpMessageHandlerImpl( + IJT808Config jT808Config, + ILoggerFactory loggerFactory) + { + logger = loggerFactory.CreateLogger(); + JT808Serializer = jT808Config.GetSerializer(); + } + public void Processor(string TerminalNo, byte[] Data) + { + if (logger.IsEnabled(LogLevel.Debug)) + { + logger.LogDebug($"实现上行消息处理,{TerminalNo},{Data.ToHexString()}"); + } + } + } +} diff --git a/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/JT808.Gateway.QueueHosting.csproj b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/JT808.Gateway.QueueHosting.csproj index c6bc73c..ebb9ce3 100644 --- a/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/JT808.Gateway.QueueHosting.csproj +++ b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/JT808.Gateway.QueueHosting.csproj @@ -19,6 +19,7 @@ + diff --git a/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Program.cs b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Program.cs index 7a35f4f..349499b 100644 --- a/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Program.cs +++ b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Program.cs @@ -16,6 +16,7 @@ using JT808.Gateway.QueueHosting.Jobs; using JT808.Gateway.Kafka; using JT808.Gateway.WebApiClientTool; using JT808.Gateway.QueueHosting.Impl; +using JT808.Gateway.MsgIdHandler; namespace JT808.Gateway.QueueHosting { @@ -51,10 +52,12 @@ namespace JT808.Gateway.QueueHosting //添加客户端服务 .AddClientKafka() .AddMsgConsumer(hostContext.Configuration) + //添加消息上行处理器 + .AddMsgIdHandler() //添加消息应答生产者 .AddMsgReplyProducer(hostContext.Configuration) //添加消息应答服务并实现消息应答处理 - .AddReplyMessage() + .AddReplyMessage() .Builder() //添加消息应答处理 .AddGateway(hostContext.Configuration) diff --git a/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/appsettings.json b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/appsettings.json index 77108dc..9ea953f 100644 --- a/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/appsettings.json +++ b/src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/appsettings.json @@ -24,7 +24,7 @@ }, "JT808MsgConsumerConfig": { "TopicName": "JT808Msg", - "GroupId": "msg-group", + "GroupId": "msg-group-1", "EnableAutoCommit": true, "BootstrapServers": "127.0.0.1:9092" }, diff --git a/src/JT808.Gateway.WebApiClientTool/JT808HttpClient.cs b/src/JT808.Gateway.WebApiClientTool/JT808HttpClient.cs index 02873ac..4847109 100644 --- a/src/JT808.Gateway.WebApiClientTool/JT808HttpClient.cs +++ b/src/JT808.Gateway.WebApiClientTool/JT808HttpClient.cs @@ -175,7 +175,7 @@ namespace JT808.Gateway.WebApiClientTool /// public async ValueTask>> GetBlacklistAll() { - var request = new HttpRequestMessage(HttpMethod.Post, JT808GatewayConstants.JT808WebApiRouteTable.BlacklistGet); + var request = new HttpRequestMessage(HttpMethod.Get, JT808GatewayConstants.JT808WebApiRouteTable.BlacklistGet); var response = await HttpClient.SendAsync(request); response.EnsureSuccessStatusCode(); var data = await response.Content.ReadAsStreamAsync(); diff --git a/src/JT808.Gateway.sln b/src/JT808.Gateway.sln index a35531d..64ce825 100644 --- a/src/JT808.Gateway.sln +++ b/src/JT808.Gateway.sln @@ -37,6 +37,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Gateway.ServerBenchma EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Gateway.CleintBenchmark", "JT808.Gateway.Benchmark\JT808.Gateway.CleintBenchmark\JT808.Gateway.CleintBenchmark.csproj", "{45113CCF-2556-459F-B330-D0A5A885FC4C}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Gateway.MsgIdHandler", "JT808.Gateway.Services\JT808.Gateway.MsgIdHandler\JT808.Gateway.MsgIdHandler.csproj", "{41E5252C-CA52-453A-BBFE-CBCB58D232ED}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -99,6 +101,10 @@ Global {45113CCF-2556-459F-B330-D0A5A885FC4C}.Debug|Any CPU.Build.0 = Debug|Any CPU {45113CCF-2556-459F-B330-D0A5A885FC4C}.Release|Any CPU.ActiveCfg = Release|Any CPU {45113CCF-2556-459F-B330-D0A5A885FC4C}.Release|Any CPU.Build.0 = Release|Any CPU + {41E5252C-CA52-453A-BBFE-CBCB58D232ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {41E5252C-CA52-453A-BBFE-CBCB58D232ED}.Debug|Any CPU.Build.0 = Debug|Any CPU + {41E5252C-CA52-453A-BBFE-CBCB58D232ED}.Release|Any CPU.ActiveCfg = Release|Any CPU + {41E5252C-CA52-453A-BBFE-CBCB58D232ED}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -113,6 +119,7 @@ Global {886D0A3F-C974-442B-9820-F1C4C04EAAB6} = {3EF8490D-C993-49D8-8A3D-493B7F259D70} {8B32DDBF-F118-4216-A49A-C067F6107D0A} = {6FAEC008-93CB-4730-8C58-D31FFD342C4F} {45113CCF-2556-459F-B330-D0A5A885FC4C} = {6FAEC008-93CB-4730-8C58-D31FFD342C4F} + {41E5252C-CA52-453A-BBFE-CBCB58D232ED} = {3EF8490D-C993-49D8-8A3D-493B7F259D70} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {AA9303A7-6FB3-4572-88AA-3302E85330D1} diff --git a/src/Version.props b/src/Version.props index 12260fb..d0c3c6c 100644 --- a/src/Version.props +++ b/src/Version.props @@ -1,6 +1,6 @@  2.3.3-preview1 - 1.1.0 + 1.1.1-preview1 \ No newline at end of file