SignalR Clients.All.function_name ();не работает - PullRequest
0 голосов
/ 28 мая 2018

прости мой плохой английский.У меня есть проект, который содержит код сигнала и JavaScript.Но сторона контроллера называется Clients.All.function_name ();не работает.

Мой класс хаба:

public class yenile : Hub
{ 
   public void sayfaYenile()
   {
       Clients.All.syenile();
   }
}

Мой код JavaScript:

<script>
    var sayfayenile = $.connection.yenile;
    sayfayenile.client.syenile = $(function () {
       $.ajax({
             type: "GET",
             url: '/hasta/',
             data: {},
             success: function (data) {
                $("#con").html($(data).find("#con").html());
             },
        }
        });
     });
     $.connection.hub.start().done(function () { console.log("connected"); });
</script>

IHubContext

public static IHubContext yenileContext = GlobalHost.ConnectionManager.GetHubContext<yenile>();

И вызов yenileContext

yenileContext.Clients.All.yenile();

Мой класс запуска:

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
 }

Ответы [ 2 ]

0 голосов
/ 18 июня 2018

Я нашел причину ошибки.sayfayenile.client.syenile = $ (function () вместо sayfayenile.client.yenile = $ (function ()

0 голосов
/ 28 мая 2018

Пожалуйста, вы должны ссылаться на файлы библиотеки сигнализаторов. В зависимости от версий сигнатур, которые вы должны изменить.

<!--Reference the jQuery library. -->
<script src="Scripts/jquery-3.1.1.min.js" ></script>
<!--Reference the SignalR library. -->
<script src="Scripts/jquery.signalR-2.2.1.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="signalr/hubs"></script>

Второй момент: ваша ссылка на javascript должна использовать верблюжий регистр для вызова класса вашего сервера и его функций-членов.

...