3

我得到了一个在控制台应用程序中托管 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);
    }
}

}

我只是不明白这一行 using (WebApplication.Start<Startup>(url)) i just also don't understand the usage ofStartup class

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

4

1 回答 1

2

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

于 2013-05-13T13:55:28.900 回答