gpt4 book ai didi

signalr - 我们如何发送通知以在使用 BackPlane 的 Signalr 上对用户进行身份验证?

转载 作者:行者123 更新时间:2023-12-05 01:24:50 26 4
gpt4 key购买 nike

我们使用 Azure 服务总线主题作为 signalR 的背板,我们至少有 2 个 Web 实例。我们想使用 SignalR 向特定用户发送通知。我们在 Web 实例上使用“context.Clients.User”方法。

如果用户连接到此 Web 实例并通过身份验证,他/她会收到通知。

问题是:如果用户在其他网络实例上进行了身份验证,这将不起作用。

我们如何向另一个网络实例上的用户发送通知?

我们正在使用 Autofac.SignalR 和 SignalR.ServiceBus

国际奥委会配置:

var builder = new ContainerBuilder();
.
.
.
.
.

Container = builder.Build();
RegisterGlobalCommonServiceLocator();

var resolver = new AutofacWebApiDependencyResolver(Container);

GlobalConfiguration.Configuration.DependencyResolver = resolver;
DependencyResolver.SetResolver(new AutofacDependencyResolver(Container));

var connectionString = ConfigurationManager.AppSettings["SignalRBrokerServiceBus"];
var appName = ConfigurationManager.AppSettings["SignalRApplicationName"];

GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(Container);
var scaleOutConfig = new ServiceBusScaleoutConfiguration(connectionString, appName);
GlobalHost.DependencyResolver.UseServiceBus(scaleOutConfig);

contex ExchangeRate 的用法是 Hub 的派生类:

var user = _userService.FindById(orderBook.UserId);
var context =GlobalHost.ConnectionManager.GetHubContext<ExchangeRate>();
context.Clients.User(user.Email).deleteMyOrder(myOrder);

最佳答案

与azure上的topic配置有关。我们用“启用分区”创建了一个主题。我们错过了很多消息。现在,主题由 IOC 创建。它工作正常。我已经在这两个实例上进行了测试。 context.Clients.User 工作正常。

关于signalr - 我们如何发送通知以在使用 BackPlane 的 Signalr 上对用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28543658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com