C# 信号器-如何使用文件夹中存储的集线器?

C# 信号器-如何使用文件夹中存储的集线器?,c#,asp.net,webforms,signalr,signalr-hub,C#,Asp.net,Webforms,Signalr,Signalr Hub,我正在用C#开发一个ASP Web表单项目 我有2个信号集线器: 项目根目录(\Hub1.cs)中的“Hub1” 文件夹(\Games\Hub2.cs)中的“Hub2” 我的程序.cs public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } 加载页面时,仅加载Hub1,因为我使用 <script src

我正在用C#开发一个ASP Web表单项目

我有2个信号集线器:

  • 项目根目录(\Hub1.cs)中的“Hub1”

  • 文件夹(\Games\Hub2.cs)中的“Hub2”

  • 我的程序.cs

    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();            
        }
    }
    
    加载页面时,仅加载Hub1,因为我使用

    <script src="/Scripts/jquery-1.6.4.min.js"></script>
    <script src="/Scripts/jquery.signalR-2.2.0.js"></script>
    <script src="/signalr/hubs"></script>
    
    如果我写

    我如何使用它?我需要把集线器放在不同的文件夹中


    谢谢

    所有集线器均位于/signalr/hubs中,无需参考文件夹。但所有这些都必须以小写字母开头

    你能试试这个吗

    $.connection.hub2.client.Foo=... ;//some funtion
    

    如果你提供完整的网址,那么它将工作。例如(js客户端):


    它不起作用。它告诉我“$.connection.hub2未定义”您可以在浏览器控制台“$.connection”和输出对象中写入查找集线器吗?你看到了什么集线器?我解决了:我在项目中有2个集线器2(一个隐藏),信号员无法加载它。无论如何,谢谢!
    $.connection.hub2.client.Foo=... ;//some funtion
    
        // yoursite/subfolder/signalr
        var connection = $.hubConnection("https://yoursite.com/games/signalr", { useDefaultPath: false });        
    var proxy = connection.createHubProxy('hub2');
        // your custom funcs..
        proxy.on('sayHello', function() {
                                    alert("hello");
                                });
        //another important part ONLY if you have another server app installed in 'games'
            $.connection.hub.url = "https://yousite.com/games";
            connection.start()
            .done(function(){ console.log('Now connected, connection ID=' + connection.id); })
            .fail(function(){ console.log('Could not connect'); });