Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

173
Vistas
Enviar mensaje a un usuario específico mediante Azure SignalR

Al usar Azure SignalR (no .Net Core SignalR), ¿se admite Clients.Users.SendAsync para enviar mensajes a un usuario específico?

 [Authorize] public class ChatHub : Hub { public async Task OnNewMessage(string userId, string message) { await Clients.Users(userId) //Does Azure SignalR supports sending message to specific user, // the way .Net Core SignalR does it .SendAsync("OnNewMessage", userId, message); } }

En caso afirmativo, ¿cómo se pasa el principal de reclamos de identidad de Asp.Net a Azure SignalR?

Edición: 18 de junio de 2021

Las respuestas a continuación no abordan las preocupaciones. Lo siento, pero ya había seguido la documentación para personalizar UserIdBasedProvider , etc. Quiero enfatizar que:

Esta pregunta se refiere a cómo SignalR maneja .Users(<*some-user-id*>).Send() ;

Idealmente hacemos .Client(<connection id>).Send() para enviar un mensaje a un usuario específico. Pero para esta arquitectura debemos almacenar el ID de usuario y el ID de conexión en la base de datos, etc.

.User(userId).Send() funciona perfectamente con .Net Core SignalR. Así que creo que SignalR SDK debe haber estado manteniendo el mapa de cada Id. de conexión e Id. de usuario en la memoria.

¿Azure SignalR realiza un seguimiento interno del ID de usuario, la asignación del ID de conexión y envía el mensaje?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede lograr esto implementando su IUserIdProvider personalizado de esta manera y registrándolo como un singleton.

 public class UserIdProvider : IUserIdProvider { public string GetUserId(HubConnectionContext connection) { return connection.User.FindFirst(ClaimConstants.PreferredUserName).Value; } }

Referencia relacionada y Github

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda