我正在尝试连接到消息队列并使用SignalR.So将所有通知推回到Web(Angularjs) . 每次有消息是侦听器应该处理消息并刷新网页的队列 .
监听器(SignalR.SelfHost.DotNetClient)正在将通知正确地推送到SignalR.SelfHost.Server中的Send方法 . 但是,消息不会被推回到Web中的客户端 . 不会调用客户端中的broadcastMessage方法 . 请告诉我这里有什么问题 . 甚至hub.start中的警报也没有触发 .
我这里有3个项目
SignalR.SelfHost.DotNetClient - 消息队列的监听器

static void Main(string[] args)
    {
        var hubConnection = new HubConnection("http://localhost:8080/");
        var serverHub = hubConnection.CreateHubProxy("NotificationHub");
        //serverHub.On("broadcastMessage", message => System.Console.WriteLine(message));
        hubConnection.Start().Wait();

            // Send a json array message to the server
       var message="{'externalDeviceId': '0102030405060700A100010A', 'deviceId':'28C2A18F647B2F81','friendlyName' : 'unknown','userId' : 'HHFR','deviceFullType' : 'iOS-iPad' ,'drmDeviceId':'28C2A18F647B2F81', 'accountId' : 'HH0A','drmDeviceType': 'IOS', 'preferences ':    {        'audioLanguage':'FIN',        'friendlyName':'unknown',        'audioDescriptionFlag':false,        'bannerDisplayTimeout':7,        'isConnected':true,        'presenceStatus':'ONLINE'    } }".Replace("'", "\"");
        serverHub.Invoke("Send", "[" + message + "]").Wait();

}

SignalR.SelfHost.Server - 自己托管的SignalR

public class NotificationHub : Hub
{        
    public static IHubContext HubContext
    {
        get
        {
            if (_context == null)
                _context = GlobalHost.ConnectionManager.GetHubContext<NotificationHub>();

            return _context;
        }
    }
    static IHubContext _context = null;
    public void Send(string message)
    {
        //Clients.All.broadcastMessage(message);
        HubContext.Clients.All.broadcastMessage(message);
    }       
}

Web - AngularJS

<script src="Scripts/jquery.signalR-2.0.3.min.js"></script>
    <script src="http://localhost:8080/signalr/hubs/" type="text/javascript"></script>

<script type="text/javascript">
    $(function () {

        /*Set the hubs URL for the connection */
        debugger;
        $.connection.hub.url = "http://localhost:8080/signalr";
        /* Declare a proxy to reference the hub.*/
        var hubClient = $.connection.notificationHub;
        //$.connection.hub.start();
        /* Create a function that the hub can call to broadcast messages.*/
        hubClient.client.broadcastMessage = function (data) {
            alert(data);
         }
        /* Start the connection.*/
        $.connection.hub.start().done(function () {
            /*  Call the Send method on the hub */
            alert('Hi');

        });