Проблема объединительной платы служебной шины Signalr

Я получаю проблему в служебной шине, иногда она вызывает метод клиента, а иногда выходит из строя.

Вот мой сценарий

Когда курьер делает ставку для клиента, он вызывает метод на стороне сервера, после успешного вызова он перенаправляет на функцию клиента через signalR, обновляет страницу и получает новую информацию (используя тостер).

Вот полный код

* Серверный вызов

private Notify(ExtraLargeRequest request){

--  Microsoft.AspNet.SignalR.GlobalHost.ConnectionManager.GetHubContext<NewBidHub>().Clients.All

                .broadcastBidNotification(request.Customer.Email, request.Id, "test message");

}

* NewBidHub.cs

public class NewBidHub : Hub

{

    public void SendBidNotification(string user, int requestId, string message)

    {

        // Call the method to notifiy clients.

        Clients.All.broadcastBidNotification(user, requestId, message);

    }

}

* вызов на стороне клиента

function createNewBidHub(){

    //declaring the hub connection

    newBidHub = new Hub('newBidHub', {

        //client side methods

        listeners: {

            'broadcastBidNotification': function (customer, requestId, notification) {

                $rootScope.$broadcast('incomingBidNotification', customer, requestId, notification);

            }

        },

        methods: ['SendBidNotification'],

        //specify a non default root

        rootPath: config.baseServiceName + 'signalr'

    });

}



$rootScope.$on('incomingBidNotification', function (fn, customer, requestId, notification) {

toaster.pop("success", "New bid", notification, 5000, 'trustedHtml', onBidNotificationClick, requestId);

if ($location.path().indexOf('/requests/detail') !== -1) {

                $rootScope.$broadcast("updateRequestDetails", requestId);

            }

});

* Startup.cs

public void Configuration(IAppBuilder app)

    {

        GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(50);

        string connectionString = CloudConfigurationManager.GetSetting("ServiceBusConnectionString");

        GlobalHost.DependencyResolver.UseServiceBus(connectionString, "webnotifications-ns");

        app.MapSignalR();            

    }

*версия

ServiceBus - 2.1.0.0

jquery-signalR - 2.1.2

Не могли бы вы помочь мне! Это будет высоко ценится.

Заранее спасибо.

0 ответов

Другие вопросы по тегам