UI に複数のグリッドがあり、 signalR を介して更新したいと考えています。変更がある場合は、対応するグリッドのみを更新し、その他のグリッドはそのまま残ります。グリッドごとに異なる接続を作成し、それに応じてクライアントごとに更新することは可能ですか? また、さまざまなクライアントの接続 ID も維持する必要があります。では、このシナリオを探し出す方法はありますか?? 解決策や提案を探しています。
サーバ側
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 を介してデータを更新することですが、崩壊後は切断する必要があります。グリッドの数は複数になります。これが私の要点を明確にするのに役立つことを願っています。