środa, 17 grudnia 2014

[C#|Visual Studio] ASP .NET SignalR: .NET Hubs Client API

Pracę z klientem .NET zaczynamy od zainstalowania odpowiedniego pakietu NuGet-a.

Komunikacja z Hubami odbywa się w sposób asynchroniczny zarówno ze strony JavaScript, jak i .NET. Mamy zatem do czynienia z programowaniem opartym o Taski, z których w C# 5.0 możemy w wygodny sposób korzystać przy użyciu słów kluczowych async/await.

API przypomina nieco to dostępne po stronie JS, nie wykorzystujące dynamicznego proxy. Kluczową klasą jest HubConnection tworzące proxy do konkretnego Huba. Interfejs IHubProxy udostępnia dwie ważne metody: Invoke (do wysyłania danych do serwera) oraz On (do obsługi wiadomości przychodzących).

static async Task Execute()
{
    const string url = "http://localhost:1968";
    var connection = new HubConnection(url);
    var echo = connection.CreateHubProxy("modernChat");

    await connection.Start();
    Console.WriteLine("Connected, transport is: {0}", connection.Transport.Name);
    
    echo.On<string>("newMessageFrom", message => Console.Write(message));

    var response = await echo.Invoke<string>("SendMessage", "hello!");
    
    Console.ReadLine();
}

Brak komentarzy:

Prześlij komentarz