【发布时间】:2018-04-12 00:36:52
【问题描述】:
我正在使用Microsoft.AspNetCore.SignalR.Client 从我的 WebAPI 项目打开一个连接,以连接和调用我的 SignalR Hub 项目中的方法。这些是托管在不同服务器上的独立项目。
如何查看连接是否已经启动,以免尝试启动两次?
我使用以下代码从 WebAPI 连接:
public class ChatApi
{
private readonly HubConnection _connection;
public ChatApi()
{
var connection = new HubConnectionBuilder();
_connection = connection.WithUrl("https://localhost:44302/chathub").Build();
}
public async Task SendMessage(Msg model)
{
await _connection.StartAsync();
await _connection.SendAsync("Send", model);
}
}
由于我的 WebAPI 会大量调用 SignalR,因此我想在 WebAPI 和 SignalR 之间创建单个连接,而不是每次都关闭/打开连接。目前我将ChatApi 类创建为单例,并在构造函数中初始化集线器连接。
在调用await _connection.StartAsync();之前如何检查连接是否已启动?
使用:Microsoft.AspNetCore.SignalR.Clientv1.0.0-preview1-final
【问题讨论】:
标签: c# asp.net-core connection signalr.client asp.net-core-signalr