相关疑难解决方法(0)

如何从其他线程更新GUI?

Label从另一个线程更新a的最简单方法是什么?

我有一Formthread1,并从我开始另一个线程(thread2).虽然thread2在处理一些文件,我想更新LabelForm用的当前状态thread2的工作.

我怎样才能做到这一点?

.net c# user-interface multithreading winforms

1331
推荐指数
41
解决办法
63万
查看次数

有没有办法从SignalR中的Clients.method调用中排除客户端?

我正在评估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);
    }
}
Run Code Online (Sandbox Code Playgroud)

signalr

3
推荐指数
1
解决办法
1716
查看次数

标签 统计

.net ×1

c# ×1

multithreading ×1

signalr ×1

user-interface ×1

winforms ×1