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

时间:2013-05-13 13:46:23

标签: c# 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<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

的用法

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

1 个答案:

答案 0 :(得分:2)

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

相关问题