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" 在主线程上工作的方法:
在 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" 在主线程上工作的方法: