/Primus.NET

Rewrite of primus server in .NET Core 3.1

Primary LanguageJavaScript

Primus.NET

Rewrite of primus server in .NET Core

Original repository : https://github.com/primus/primus

How to use Primus.NET in a ASP.Net Core project

  1. First of all, add a reference of the lib to your ASP.Net Core project.

(For next steps, you can check the Example ASP.Net core project, to avoid misunderstandings !)

  1. Add this line in your ConfigureServices method in Startup.cs. It permits to load the native routes of primus inside the lib
services.AddMvc().AddApplicationPart(typeof(PrimusController).Assembly).AddControllersAsServices();
  1. Add this line in your Configure method in Startup.cs. for loading the handlers which is for the data received from the websocket in
MessageParser.Initialize();
  1. Add those lines in your Configure method in Startup.cs above app.UseRouting();. to let Kestrel manage the websocket connections
app.UseWebSockets(new WebSocketOptions()
{
    //KeepAliveInterval is not necessary, can be removed or modified
    KeepAliveInterval = TimeSpan.FromSeconds(120)
});
  1. Add this line in your Configure method in Startup.cs above app.UseRouting(); and after app.UseWebSockets();. to handle a WebsocketRequest because the communication is initiating in a Task
app.UseMiddleware<WebSocketMiddleware>();
  1. Enjoy !

Events

OnClientCreated

In the ClientManager.cs class there is a static event called OnClientCreated, you can add your method to the event to get all PrimusClient object created.

OnClientDisconnected

In the ClientManager.cs class there is a static event called OnClientDisconnected, you can add your method to the event to get all PrimusClient object disconnected.

DataReceived

In the PrimusClient.cs class there is an event to handle the data received from the webSocket per client.