我正在使用signalR将消息推送到服务器并向下推送到特定客户端。以线程安全的方式创建新窗口
当我发送一条消息时,接收客户端发送一个来自我的signalR服务器的ReceiveMessage函数调用,该服务器映射到我的应用中的静态类函数。静态类然后试图做new Chat()
(我的消息传递窗口类)在接收端打开消息窗口。
这将引发calling thread must be STA, because many UI components require this.
我以前与代表工作简单表单元素(如改变文本框),但我不明白如何应用,在这种情况下。当我读到Invoke
时,它被称为某种形式的对象,这在我的情况中不存在?
TLDR;我如何创建和静态类函数调用
请注意,您应该了解BeginInvoke()与Invoke()方法之间的区别 - 前者将在另一个线程上异步执行操作,而后者将同步执行操作。调用调用是因为它们是同步的,在某些情况下可能会导致死锁,所以只能在适当的时候使用。请参阅http://stackoverflow.com/questions/229554/whats-the-difference-between-invoke-and-begininvoke – CrimsonX 2012-07-30 18:01:02
+1注意事项,要点。 – SynerCoder 2012-07-30 19:01:30