SignalR、Outlook 加载项和多线程异常

SignalR, Outlook add-in and multithread exception

在 Outlook 中我有这段代码...

_connection = New HubConnection(Me._url)
_connection.Credentials = CredentialCache.DefaultCredentials
_hub = _connection.CreateHubProxy(Me._hubName)
_hub.On(Of String)("NewMessage", Function(message)
                                     Dim f As New TestForm
                                     f.Show()
                                     Return ""
                                 End Function)

_connection.Start()

但是显示我的表单 "TestForm" 崩溃,因为它在主线程中,而 SignalR 在另一个线程中。

知道如何让它发挥作用吗?

您最好的尝试是使用专用线程来执行 SignalR 作业并返回主 STA 线程以访问 Outlook 对象模型或显示 forms/WPF 组件。

这就是您如何 "continue" 在主线程上工作的方法: