客户端应用程序连接到本地Web API和Azure中托管的Web API

rvpgvaaj  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(155)

我有一个托管在Azure中的ASP.NET Core Web API。Web API在启动时连接到Azure SignalR服务。
然后,客户端应用程序(Winforms)使用Azure SignalR URL连接到Web API,如下所示:https://mydomain.azurewebsites.net/myhub
但是,当我在本地运行Web API并尝试连接我的客户端时,客户端应用程序以某种方式连接到本地运行的Web API和Azure中托管的Web API
我知道这一点是因为Web API有一个函数,它定期向连接的客户端发送心跳。
我的当事人得到了两次心跳。
在客户端应用程序中,我连接到本地运行的Web API,如下所示:

hubConnection = new HubConnectionBuilder()
    .WithUrl(@"http://localhost:5000/MyHub")
    .Build();

如何强制Winforms客户端应用程序只连接到本地运行的Web API?

vojdkbi0

vojdkbi01#

当我在本地运行Web API,并尝试连接我的客户端时,客户端应用程序以某种方式连接到本地运行的Web API和Azure中托管的Web API。
如果您的本地和产品Web应用程序使用相同的集线器名称连接到Azure SignalR,则所有连接的应用程序服务器都被视为导致问题的同一应用程序的示例。
要解决这个问题,您可以尝试指定ApplicationName选项,如下所示。

opt.ApplicationName = $"{AppName}_{EnvName}"

更多详情,请查看此文档:https://github.com/Azure/azure-signalr/blob/dev/docs/run-asp-net-core.md#applicationname

相关问题