是否可以从不同的应用程序在集中式服务器上生成SignalR集线器?

时间:2018-04-20 08:59:27

标签: c# asp.net-mvc signalr signalr-hub

我有多个使用SignalR的Web应用程序,生成不同的本地集线器。

我想知道,是否可以将服务器URL提供给应用程序 A ,以便它直接在中央服务器上生成本地SignalR集线器,然后应用程序 B 可以直接从服务器引用生成的集线器,而不是在应用程序 B 上创建代理来收听应用程序 A 广播?

public class ApplicationA : Hub //https://applicationAurl
{
    public void SendFromApplicationA(string name, string message)
    {
        Clients.All.addMessage(name, message);
    }
}


public class ApplicationB : Hub //https://applicationBurl
{
    public void SendFromApplicationB(string name, string message)
    {
        Clients.All.addMessage(name, message);
    }
}

因此,如果这些集线器是在服务器而不是母应用程序上创建的,那么应用程序 C 应该能够在客户端监听,如下所示。

$.connection.hub.url = "http://centralisedserver/signarl";
$.connection.hub.start();

var SendFromApplicationAHub= $.connection.applicationA;
SendFromApplicationAHub.client.SendFromApplicationA = function () {//do something}

var SendFromApplicationBHub= $.connection.applicationB;
SendFromApplicationBHub.client.SendFromApplicationB = function () {//do something}

0 个答案:

没有答案
相关问题