none
Como crear un chat que almacene los mensajes en una bd RRS feed

  • Pregunta

  • Buen dia,

    Me encuentro realizando un proyecto para la universidad , y uno de los requerimientos es hacer un chat local que me guarde los mensajes en la bd, he visto que con SignalR se puede realizar el chat, pero no he encontrado un ejemplo en el que guarden los mensajes directo en la bd, si alguno me pudiera guiar como lo puedo hacer o un ejemplo del cual me pueda guiar. Lo estoy desarrollando en el patron MVC y para la seguridad estoy usando Identity.

    Gracias


    Michael Mayorga D.

    miércoles, 26 de octubre de 2016 19:29

Respuestas

  • Si estás usando SignalR con MVC, fíjate en que tienes un Hub dentro del cual hay una subrutina que es la que se "dispara" cada vez que llega un mensaje, y dentro de esa rutina se toma el mensaje y se reenvía a todos los clientes conectados al chat. Pues bien, precisamente en ese punto, donde has recibido el mensaje, bien sea antes o bien después de reenviarlo a todos los demás, es donde tienes que grabarlo en base de datos. Aquí no hay que hacer nada en especial, al fin y al cabo el mensaje es un simple string (bueno, y también tendrás el dato de cuál es el cliente que lo ha enviado, que es otro string). Teniendo esos dos strings, simplemente los grabas en la base de datos igual que grabarías strings cualesquiera desde cualquier otro sitio, no hay que hacer nada en especial por el hecho de que se hayan recibido por mediación de SignalR.
    • Marcado como respuesta Mikemd96 martes, 1 de noviembre de 2016 18:45
    miércoles, 26 de octubre de 2016 20:19

Todas las respuestas

  • hola

    pero la unica diferencia es que al llegar el mensaje debes realizar un INSERT an la tabla, si conoces sobre ado.net puedes hacerlo, no necesitas un ejemplo que lo muestre

    la pregunta seria, conoces sobre ado.net? o estas usando entity framework?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 26 de octubre de 2016 20:18
  • Si estás usando SignalR con MVC, fíjate en que tienes un Hub dentro del cual hay una subrutina que es la que se "dispara" cada vez que llega un mensaje, y dentro de esa rutina se toma el mensaje y se reenvía a todos los clientes conectados al chat. Pues bien, precisamente en ese punto, donde has recibido el mensaje, bien sea antes o bien después de reenviarlo a todos los demás, es donde tienes que grabarlo en base de datos. Aquí no hay que hacer nada en especial, al fin y al cabo el mensaje es un simple string (bueno, y también tendrás el dato de cuál es el cliente que lo ha enviado, que es otro string). Teniendo esos dos strings, simplemente los grabas en la base de datos igual que grabarías strings cualesquiera desde cualquier otro sitio, no hay que hacer nada en especial por el hecho de que se hayan recibido por mediación de SignalR.
    • Marcado como respuesta Mikemd96 martes, 1 de noviembre de 2016 18:45
    miércoles, 26 de octubre de 2016 20:19