关于在控制台应用程序中托管SignalR

我有一个代码,在控制台应用程序中托管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(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(url))我也是不明白Startup class的用法

任何人都可以帮我理解上面的代码。 谢谢

此处显示的Startup类是您配置SignalR的位置; 在这种情况下,它使用的基本方法只是找到所有集线器(调用程序集中的Hub子类)并将它们放入混合名称中 – 但更精细的配置是可能的。 WebApplication.Start(url)正在调用所有配置代码,以及获取监听器等的管道来完成一些实际工作。 最终, Hub在这里有一些有趣的代码,即代码所在的位置。