SignalR (たまたま Knockoutjs で使用されている) を評価して、それを使用してクライアントに同時実行の問題を通知できるかどうかを確認しています。基本的に、ユーザー「a」がレコードを保存し、ユーザー「b、c、d、e、f、g」に通知されます。基本的に、すべてのクライアントに通知する例があります。だから私はほとんどそこにいると思います。
私はこのリンクに出会い、それが私が現在いる現在の道に私を導いてくれました。Githubのドキュメントも見てきました。
Clients.method()
基本的に、単一のクライアントを呼び出しから除外したいと考えています。クライアントをループして ClientId をチェックする方法がわかりません。これを達成するために私が見ることができる唯一の他の方法は、グループを使用して追跡することを検討することですが、それは少し面倒に思えましたが、それにも問題がありました.
public class TicketHub : Hub
{
static int TotalTickets = 10;
public void GetTicketCount()
{
AddToGroup("ticketClients");
Clients.setTicketCount(TotalTickets);
}
public void BuyTicket()
{
if (TotalTickets > 0)
TotalTickets -= 1;
RemoveFromGroup("ticketClients");
// This will call the method ONLY on the calling client
// Caller.updateTicketCountWithNotification(TotalTickets);
// This will call the method on ALL clients in the group
Clients["ticketClients"].updateTicketCountNotify(TotalTickets);
AddToGroup("ticketClients");
Caller.updateTicketCountDontNotify(TotalTickets);
}
}