我正在使用 AspNetCore.SignalR 1.1.0 和 AspNetCore.SignalR.Client 1.1.0。我有一个 .NET 客户端(WPF 应用程序),它在连接到在本地主机上运行的 Web 应用程序时可以正常工作,但是当我尝试连接到在暂存环境(Azure 上的 IIS)中运行的同一个 Web 应用程序时,它无法完成握手。我是 SignalR 的新手,无法确定失败的原因。
这是 .NET 客户端中的连接:
//Create the connection
connection = new HubConnectionBuilder()
.WithUrl(await ClientDataStore.ParseRouteAsync(Routes.POSFullSync), options =>
{
options.AccessTokenProvider = async () => await Task.FromResult(await ClientDataStore.GetAccessTokenAsync());
options.Headers.Add("X-Vending-Outlet-Id", KeyApplicationVariables.VOInstanceId.ToString());
})
.ConfigureLogging(logging => {
logging.SetMinimumLevel(LogLevel.Trace);
logging.AddConsole();
})
.Build();
await connection.StartAsync();
//Fails here with Operation was cancelled
Run Code Online (Sandbox Code Playgroud)
这是Web应用程序上的配置
//Add signalR
services.AddSignalR(hubOptions =>
{
hubOptions.EnableDetailedErrors = true;
hubOptions.KeepAliveInterval = TimeSpan.FromMinutes(1);
});
//Configure signalr
app.UseSignalR(routes =>
{
routes.MapHub<POSFullSyncHub>(Routes.POSFullSync);
routes.MapHub<POSPartialSyncHub>(Routes.POSPartialSync);
});
Run Code Online (Sandbox Code Playgroud)
我启用了 …