UI에 하나 이상의 표가 있고 signalR을 통해 업데이트하려고합니다. 일부 변경 사항이있는 경우 해당 그리드 만 업데이트하면 다른 그리드는 그대로 유지됩니다. 다른 그리드에 대해 다른 연결을 생성하고 그에 따라 각 클라이언트를 업데이트 할 수 있습니까? 다른 클라이언트에 대해서도 연결 ID를 유지해야합니다. 그래서이 시나리오를 찾는 데 가능한 방법이 있습니까 ?? 몇 가지 해결책이나 제안을 찾고 있습니다.SignalR에서 클라이언트마다 다른 연결을 생성 할 수 있습니까? 영구 연결
서버 측
public class RealTimeEndPoint : PersistentConnection
{
//Create array to maiantain connections
static List<string> connectedUserId = new List<string>();
//Called when the first connection is made
protected override Task OnConnected(IRequest request, string connectionId)
{
return Connection.Broadcast("Connection " + connectionId + " connected");
}
//Called when connection is disconnected
protected override Task OnDisconnected(IRequest request, string connectionId)
{
connectedUserId.Remove(connectionId + ":" + request.User.Identity.Name);
return Connection.Broadcast("Connection " + connectionId + " disconncted");
}
//Sends a value to specified signal
protected override Task OnReceived(IRequest request, string connectionId, string data)
{
connectedUserId.Add(connectionId + ":" + request.User.Identity.Name);
return Connection.Send(connectionId, "Connection " + connectionId + " sent " + data);
}
}
클라이언트 측
myGrid1.on('rowcollapse', function (event) {
GridConnection.stop();
});
myGrid1.on('rowexpand', function (event) {
var row = event.args.rowindex;
var value = myGrid1.jqxGrid('getcellvalue', row, "Name");
GridConnection.start().done(function() {
GridConnection.send("P" + value);
});
내가 무엇이 필요에 signalR을 통해 연결 및 데이터 업데이트를 시작합니다 확장이다는 분리해야한다 붕괴 후 잠시. 그리드의 nymber는 하나 이상일 것입니다. 희망이 내 요점을 명확하게하는 데 도움이됩니다. 당신이 내 lib 디렉토리를 사용할 수
하나의 연결로 원하는 것을 얻을 수있을 것입니다. –
Thnxs @HallvarHelleseth for ur reply, 원시 코드가 업데이트 됨으로 인해 더 명확 해지기를 바랍니다. – user1260967
하나의 연결을 사용하지 않고 전송 한 메시지의 속성으로 그리드 이름이나 ID를 포함시켜주세요. 클라이언트. 수신 논리에서 어떤 그리드를 업데이트해야하는지 조건부로 결정할 수 있습니다. – rpgmaker