프로그램의 한 인스턴스가 SignalR 자체 호스트를 통해 다른 사람과 통신 할 수있는 WPF 응용 프로그램을 개발 중입니다. 프로그램이 어떤 사용자가 알림을 보낼지 알 수 있도록 그룹에 어떻게 그리고 어디에서 가입해야하는지 모르는 것을 제외하고는 모든 것이 좋습니다. 어떤 도움을 주시면 감사하겠습니다. 난 당신이 거의 권리가 생각SignalR에서 그룹에 가입하기
//client side
private async void ConnectAsync()
{
Connection = new HubConnection(ServerURI);
Connection.Closed += Connection_Closed;
HubProxy = Connection.CreateHubProxy("MyHub");
//Handle incoming event from server: use Invoke to write to console from SignalR's thread
HubProxy.On<string, string>("AddMessage", (name, message) =>
this.Dispatcher.Invoke(() => RichTextBoxConsole.AppendText(String.Format("{0}: {1}\r", name, message))
)
);
try
{
await Connection.Start();
}
catch (HttpRequestException)
{
StatusText.Content = "Unable to connect to server: Start server before connecting clients.";
//No connection: Don't enable Send button or show chat UI
return;
}
HubProxy.Invoke<string>("JoinGroup", "foobar").Wait(); // Do I have to do it here?
}
//serverside
public class MyHub : Hub
{
public void Send(string name, string message)
{
Clients.Group("foobar").AddMessage(name, message);
}
public Task JoinGroup(string groupName)
{
return Groups.Add(Context.ConnectionId, groupName);
}
public Task AddGroups()
{
return Groups.Add(Context.ConnectionId, "foobar");
}
public override Task OnConnected()
{
return AddGroups();
}
}
도움 주셔서 감사합니다.하지만 그렇지 않았습니다. 문제를 해결 한 솔루션을 게시했습니다. – niks