Можно ли транслировать сообщение со стороны клиента на сторону сервера в сигнале R? - PullRequest
0 голосов
/ 25 июня 2018

Функция My Run находится на стороне клиента. Я хочу отображать оповещения в реальном времени в панели уведомлений. Я хочу проинформировать мой класс-концентратор на стороне сервера об этой функции, чтобы сделать что-то подобное.

HubProxy.Invoke("Functionname", parameter1, Parameter2)

В моем классе Hub я пишу следующий код:

private hubConnection = New HubConnection("")
private MyHub As IHubProxy = hubConnection.CreateHubProxy("MyHub")

Я не знаю, как передать свою функцию от клиента к серверу.

Мой проект основан на настольных приложениях.

1 Ответ

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

Серверная часть:

public class YourHub: Hub
{
    public void SendMessageFromClient(string paramOne, string paramTwo)
    {
        // Invokes a message on all connected clients 
        Clients.All.messageFromServer(new ParameterClass() {ParameterOne = paramOne, ParameterTwo= paramTwo} ;
    }
}

Подробную информацию о том, как сделать серверную часть вы найдете здесь: https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-server

Клиентская часть

//create connection
var hubConnection = new HubConnection("yourURL");
IHubProxy yourHub= hubConnection.CreateHubProxy("YourHub");
// Add eventhandler
stockTickerHubProxy.On<ParameterClass>("MessageFromServer", paramObj=> Console.WriteLine("Info from server. ParamOne:{0} ParamTwo {1}", paramObj.ParameterOne , paramObj.ParameterTwo ));
// Start connection
await hubConnection.Start();

Как выглядит ParameterClass:

public class ParameterClass{
  public string ParameterOne {get; set;}
  public string ParameterTwo {get; set;}
}

Сведения о клиенте: https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-net-client

...