From d4e48004bccdfe38193fe8222afa57241eb4ace8 Mon Sep 17 00:00:00 2001 From: pavelbannov Date: Thu, 24 Feb 2022 13:47:18 +0300 Subject: [PATCH] added socketio --- ASC.Web.slnf | 1 + build/build.backend.bat | 6 ++++-- build/run/SocketIO.bat | 4 ++++ build/scripts/socketio.bat | 1 + common/services/ASC.Socket.IO.Svc/Program.cs | 6 ++++-- .../services/ASC.Socket.IO.Svc/SocketServiceLauncher.cs | 8 +++++++- 6 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 build/run/SocketIO.bat create mode 100644 build/scripts/socketio.bat diff --git a/ASC.Web.slnf b/ASC.Web.slnf index 0d6c962759..d063ecf2d7 100644 --- a/ASC.Web.slnf +++ b/ASC.Web.slnf @@ -22,6 +22,7 @@ "common\\services\\ASC.ElasticSearch\\ASC.ElasticSearch.csproj", "common\\services\\ASC.Feed.Aggregator\\ASC.Feed.Aggregator.csproj", "common\\services\\ASC.Notify\\ASC.Notify.csproj", + "common\\services\\ASC.Socket.IO.Svc\\ASC.Socket.IO.Svc.csproj", "common\\services\\ASC.Studio.Notify\\ASC.Studio.Notify.csproj", "common\\services\\ASC.TelegramService\\ASC.TelegramService.csproj", "common\\services\\ASC.UrlShortener.Svc\\ASC.UrlShortener.Svc.csproj", diff --git a/build/build.backend.bat b/build/build.backend.bat index ff31327afd..36c58d38e5 100644 --- a/build/build.backend.bat +++ b/build/build.backend.bat @@ -11,8 +11,6 @@ call start\stop.bat nopause dotnet build ..\asc.web.slnf /fl1 /flp1:logfile=asc.web.log;verbosity=normal echo. -call start\start.bat nopause - echo install nodejs projects dependencies... echo. @@ -25,6 +23,10 @@ for /R "scripts\" %%f in (*.bat) do ( echo. +call start\start.bat nopause + +echo. + if "%1"=="nopause" goto end pause diff --git a/build/run/SocketIO.bat b/build/run/SocketIO.bat new file mode 100644 index 0000000000..0c293c28ff --- /dev/null +++ b/build/run/SocketIO.bat @@ -0,0 +1,4 @@ +@echo off + +PUSHD %~dp0..\.. +set servicepath=%cd%\common\services\ASC.Socket.IO.Svc\bin\Debug\ASC.Socket.IO.Svc.exe urls=http://0.0.0.0:5028 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=socketio pathToConf=%cd%\config core:products:folder=%cd%\products core:products:subfolder=server socket:path=%cd%\common\ASC.Socket.IO \ No newline at end of file diff --git a/build/scripts/socketio.bat b/build/scripts/socketio.bat new file mode 100644 index 0000000000..899dcda445 --- /dev/null +++ b/build/scripts/socketio.bat @@ -0,0 +1 @@ +yarn install --cwd %~dp0../../common/ASC.Socket.IO/ --frozen-lockfile \ No newline at end of file diff --git a/common/services/ASC.Socket.IO.Svc/Program.cs b/common/services/ASC.Socket.IO.Svc/Program.cs index f2d3699d1a..2dea15f698 100644 --- a/common/services/ASC.Socket.IO.Svc/Program.cs +++ b/common/services/ASC.Socket.IO.Svc/Program.cs @@ -47,7 +47,7 @@ using StackExchange.Redis.Extensions.Newtonsoft; namespace ASC.Socket.IO.Svc { -public class Program + public class Program { public async static Task Main(string[] args) { @@ -92,7 +92,9 @@ public class Program }) .ConfigureServices((hostContext, services) => { - services.AddMemoryCache(); + services.AddMemoryCache(); + services.AddHttpClient(); + var diHelper = new DIHelper(services); var redisConfiguration = hostContext.Configuration.GetSection("Redis").Get(); diff --git a/common/services/ASC.Socket.IO.Svc/SocketServiceLauncher.cs b/common/services/ASC.Socket.IO.Svc/SocketServiceLauncher.cs index c77548103f..beb87cabba 100644 --- a/common/services/ASC.Socket.IO.Svc/SocketServiceLauncher.cs +++ b/common/services/ASC.Socket.IO.Svc/SocketServiceLauncher.cs @@ -83,6 +83,12 @@ namespace ASC.Socket.IO.Svc try { var settings = ConfigurationExtension.GetSetting("socket"); + + var path = settings.Path; + if (!Path.IsPathRooted(settings.Path)) + { + path = Path.GetFullPath(CrossPlatform.PathCombine(HostEnvironment.ContentRootPath, settings.Path)); + } PingInterval = settings.PingInterval.GetValueOrDefault(10000); ReconnectAttempts = settings.ReconnectAttempts.GetValueOrDefault(5); @@ -93,7 +99,7 @@ namespace ASC.Socket.IO.Svc UseShellExecute = false, FileName = "node", WindowStyle = ProcessWindowStyle.Hidden, - Arguments = $"\"{Path.GetFullPath(CrossPlatform.PathCombine(HostEnvironment.ContentRootPath, settings.Path, "server.js"))}\"", + Arguments = $"\"{Path.Combine(path, "server.js")}\"", WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory };