İçeriğe geç

SignalR Server Console Application

Required Packages
Powershell or Nuget Package Manager
Install-Package Microsoft.AspNet.SignalR.SelfHost
Install-Package Microsoft.Owin.Cors

Program.cs

using Microsoft.Owin.Hosting;
using System;

class Program
{
     static void Main(string[] args)
     {
          string url = "http://localhost:8080";
          using (WebApp.Start(url))
          {
          Console.WriteLine("Server runing on {0}", url);
          Console.ReadLine();
          }
     }
}

Startup.cs

using Microsoft.Owin;
using Owin;
using Microsoft.Owin.Cors;
using Microsoft.AspNet.SignalR;

[assembly: OwinStartup(typeof(ConsoleApp.Startup))]

public class Startup
{
     public void Configuration(IAppBuilder app)
     {
          // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
          app.UseCors(CorsOptions.AllowAll);

          var hubConfiguration = new HubConfiguration();
          hubConfiguration.EnableDetailedErrors = true;

          app.MapSignalR(hubConfiguration);
     }
}

MyHub.cs

using Microsoft.AspNet.SignalR;
using System;
using System.Threading.Tasks;

class MyHub : Hub
{
     public override Task OnConnected()
     {
          string clientConnectionId = Context.ConnectionId;
          Console.WriteLine("Client connected with " + clientConnectionId + " connetionId");
          return base.OnConnected();
     }

     public override Task OnDisconnected(bool stopCalled)
     {
          if (stopCalled)
          {
               Console.WriteLine(String.Format("Client {0} explicitly closed the connection.", Context.ConnectionId));
          }
          else
          {
               Console.WriteLine(String.Format("Client {0} timed out .", Context.ConnectionId));
          }
          return base.OnDisconnected(stopCalled);
     }

     public override Task OnReconnected()
     {
          Console.WriteLine(Context.ConnectionId + " reconnected.");
          // Add your own code here.
          // For example: in a chat application, you might have marked the
          // user as offline after a period of inactivity; in that case 
          // mark the user as online again.
          return base.OnReconnected();
     }
}

GitHub: https://github.com/merterhan/signalrconsoleserver

Tarih:SignalR

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir