Appendix 1: I have a React application (based on the create-response-app) that I added as a web application in Azure - it was pretty simple to configure. This is used by the JS SignalR client to communicate with the server listed below.
Appendix 2: this application is an ASP.NET Core SignalR application created using the new dotnet console. This application provides a SignalR endpoint and is "self-service".
Appendix 3: The second ASP.NET Core console application is configured as a SignalR client. This is responsible for fetching some data and sending that data to the SignalR server. This takes the SignalR endpoint (url) as a command line argument.
Running it all locally is pretty simple:
Appendix 1: npm start / serve -s build
Appendix 2: dotnet run -commandline args (performed on local hosting using hubpath and port from the provided arguments. The port is that several instances of SignalR servers can run on the local host - not sure if this is the way to do it in Azure or if they are differentiated with separate URLs and placed separately)
Appendix 3: dotnet run http: // localhost: 5000 / somenotificationhubname "
I added a bat file in each of the console applications, so I can open several instances of these files with different arguments.
Therefore, locally, it works as easily as clicking 3 of the bat file.
But I kind of lost how to spend all this in Lazur. The web application seemed pretty simple. I just created a web application in Azure connected to it through an FTP client and copying the contents of the build folder from the React application.
But what to do with ASP.NET Core console applications so that the SignalR console application is hosted in Azure and its endpoint is shown for the other 2 applications that will consume?
I tried adding both applications 2 and 3 as webjobs in App 1, but this does not seem to work.
I also heard that SignalR should not work in IIS, so it would be wise to make it standalone (exe) and run it inside the docker container? Any help is greatly appreciated.