关于在控制台应用程序中托管SignalR
本文关键字:SignalR 应用程序 控制台 | 更新日期: 2023-09-27 18:13:14
我得到了一个在控制台应用程序中托管SignalR的代码。代码如下:
Install-Package Microsoft.Owin.Hosting -pre
Install-Package Microsoft.Owin.Host.HttpListener -pre
Install-Package Microsoft.AspNet.SignalR.Owin -pre
using System;
using Microsoft.AspNet.SignalR;
using Microsoft.Owin.Hosting;
using Owin;
namespace SignalR.Hosting.Self.Samples
{
class Program
{
static void Main(string[] args)
{
string url = "http://172.0.0.01:8080";
using (WebApplication.Start<Startup>(url))
{
Console.WriteLine("Server running on {0}", url);
Console.ReadLine();
}
}
}
class Startup
{
public void Configuration(IAppBuilder app)
{
// This will map out to http://localhost:8080/signalr by default
// This means a difference in the client connection.
app.MapHubs();
}
}
public class MyHub : Hub
{
public void Send(string message)
{
Clients.All.addMessage(message);
}
}
}
我只是不明白这行使用(WebApplication.Start<Startup>(url))
我也不明白Startup class
的用法
这里显示的Startup
类是您配置SignalR的地方;在这种情况下,它使用的是一种基本的方法,即找到所有的集线器(调用程序集中的Hub
子类)并按名称将它们放入混合-但更微妙的配置是可能的。WebApplication.Start<Startup>(url)
调用所有的配置代码,以及获取侦听器的管道等来完成一些实际工作。最终,Hub
在这里有有趣的代码,即你的代码去哪里。