Как использовать ng2-signalr - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь использовать сигнализатор в угловых.У меня есть рабочий хаб в c # с функцией Hello

public class myHub : Hub
{
    public void Hello(string msg)
    {
        Console.WriteLine("HIIII" + msg);
    }
}

Я использую angular 5 и пакет ng2-signalr, но я не понимаю, как создать соединение.Я пытался следовать документации , но я не мог понять поток кода.Кто-нибудь может указать мне на руководство или, возможно, привести простой пример

1 Ответ

0 голосов
/ 24 июля 2018

Я действительно подключил его.

Следуйте документации для app.module.ts для версии> 2

import { SignalRModule } from 'ng2-signalr';
import { SignalRConfiguration } from 'ng2-signalr';

 // >= v2.0.0
 export function createConfig(): SignalRConfiguration {
 const c = new SignalRConfiguration();
 c.hubName = 'name of your hub'; 
 c.qs = { user: 'donald' };
 c.url = 'https://url to root of your service';
 c.logging = true;

 // >= v5.0.0
 c.executeEventsInZone = true; // optional, default is true
 c.executeErrorsInZone = false; // optional, default is false
 c.executeStatusChangeInZone = true; // optional, default is true
 return c;
}

Важно отметить имя концентратора(myHub в вашем случае) и просто введите рут к вашему сервису.Пакет добавит сигнальный маршрут

Добавьте это в конец импорта, как указано в документации

SignalRModule.forRoot(createConfig)

Затем я просто попытался внедрить соединение в один компонент.

// inside your component.
  constructor(private _signalR: SignalR)  {
}

ngOnInit() {
  this._signalR.connect().then((c) =>console.log("Connected")); 


}

Препятствием, с которым я столкнулся, были cors в моем служении.В файле startup.cs это моя конфигурация

public void Configuration(IAppBuilder app)
    {
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=316888

        app.Map("/signalr", map =>
        {
            map.UseCors(CorsOptions.AllowAll);
            map.RunSignalR(new HubConfiguration()
            {
                EnableDetailedErrors = true,
                EnableJavaScriptProxies = true
            });
        });
    }

Это позволило мне успешно подключиться к концентратору.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...