none
Aprendiendo SignalR RRS feed

  • Pregunta

  • Hola, estoy aprendiendo SignalR para manejar conexiones en tiempo real con mi ERP, ahora tengo muchas dudas porque estoy recien empezando con el.

    1.- Estoy haciendo un sistema de notificaciones, por lo cual sé que es fácil y no dificil, pero mi duda es ¿donde debería poner el script del SignalR + Notificacion + los script asociados a signalr para que en toda la aplicacion haga efecto?, personalmente estaba pensando ponerlo en el _Layout.cshtml, pues todas derivan de ésta........

    2.- ¿No importa o no relentizará la pagina que tenga tantos scripts asociados al layout + cada página + código javascript directo si lo escribo al final de la hoja?

    tengo jquery-1.6.4.min.js, jquery.signalR-0.5.3.min.js, jquery-ui-1.8.11.min.js, jquery.unobtrusive-ajax.min.js, jquery.validate.min.js, modernizr-1.7.min.js, y ademas tengo 2 css que no son extensos y que eso si lo tengo al inicio........¿no importa?... xD

    3.- Cuando ocupo la tecnologia HUB en vez de Persistent Conection, ¿donde queda el servidor? ya que sé que hay que crear la clase HUB con toda la logica y en la pagina la llamo con "var myhub = $.connection.myHUB", pero en ninguna parte coloco algo como "IniciarServer(puerto....)", entonces me confunde ¿donde esta el servidor realmente...?

    4.- Cuando publico mi proyecto, ¿hay que hacer algo en especial en el IIS con respecto a SignalR?, porque he leido que necesitas un hosting de signalR o algo así y ahí me confudí mucho...

    Gracias :D

    jueves, 30 de agosto de 2012 0:00

Respuestas

  • Hola!

    Por partes,

      • Si quieres incluir los scripts en TODAS las páginas y TODAS las páginas usan tu _Layout.cshtml, es un buen sitio, sin duda ;-)
      • Obviamente, cuanto más scripts incluyas más te relentizará, son gajes del oficio. Si lo que te preocupa es el hecho de descargar cinco o seis scripts más dos estilos en cada página, puedes usar un sistema de bundling (el incluido en MVC4 está muy bien) y lo podrías dejar en dos descargas compactas; si lo que te preocupa es el tiempo de proceso de los scripts, asegúrate de que toda la inicialización se produce sin bloquear el navegador, de forma que la experiencia de usuario no se resienta.
      • El servidor estará en tu aplicación ASP.NET (MVC, Webforms, o lo que sea). Simplemente tendrás tu clase heredando de Hub, y el resto lo hará SignalR. Desde el punto de vista del cliente, simplemente debes hacer una llamada a $.connection.hub.start() para iniciar la conexión con los hubs del servidor.
      • En el IIS no hay que hacer nada en especial para publicar un endpoint SignalR, puesto que va incluido en tu proyecto ASP.NET; eso sí, si va a ser un sitio de alta carga (muchos usuarios, muchos mensajes), en la web de SignalR hay ajustes que puedes hacer para que te vaya más fino... aunque probablemente para una mensajería interna de un ERP no te vaya a hacer falta.

    Saludos!


    José M. Aguilar
    Variable not found

    • Marcado como respuesta MAXDELPHI lunes, 3 de septiembre de 2012 18:24
    domingo, 2 de septiembre de 2012 18:14

Todas las respuestas

  • Hola!

    Por partes,

      • Si quieres incluir los scripts en TODAS las páginas y TODAS las páginas usan tu _Layout.cshtml, es un buen sitio, sin duda ;-)
      • Obviamente, cuanto más scripts incluyas más te relentizará, son gajes del oficio. Si lo que te preocupa es el hecho de descargar cinco o seis scripts más dos estilos en cada página, puedes usar un sistema de bundling (el incluido en MVC4 está muy bien) y lo podrías dejar en dos descargas compactas; si lo que te preocupa es el tiempo de proceso de los scripts, asegúrate de que toda la inicialización se produce sin bloquear el navegador, de forma que la experiencia de usuario no se resienta.
      • El servidor estará en tu aplicación ASP.NET (MVC, Webforms, o lo que sea). Simplemente tendrás tu clase heredando de Hub, y el resto lo hará SignalR. Desde el punto de vista del cliente, simplemente debes hacer una llamada a $.connection.hub.start() para iniciar la conexión con los hubs del servidor.
      • En el IIS no hay que hacer nada en especial para publicar un endpoint SignalR, puesto que va incluido en tu proyecto ASP.NET; eso sí, si va a ser un sitio de alta carga (muchos usuarios, muchos mensajes), en la web de SignalR hay ajustes que puedes hacer para que te vaya más fino... aunque probablemente para una mensajería interna de un ERP no te vaya a hacer falta.

    Saludos!


    José M. Aguilar
    Variable not found

    • Marcado como respuesta MAXDELPHI lunes, 3 de septiembre de 2012 18:24
    domingo, 2 de septiembre de 2012 18:14
  • Muchas gracias!, es justo lo que necesitaba saber :P

    otra cosa, ¿realmente me recomiendas aprender SignalR? porque esoty desarrollando un ERP y en mi ipohne se ve que carga infinitamente :S

    • Editado MAXDELPHI lunes, 3 de septiembre de 2012 18:27
    lunes, 3 de septiembre de 2012 18:24
  • Hola!

    Si programas sobre ASP.NET y necesitas "push" (enviar datos de servidor a cliente de forma asíncrona), SignalR es una buena opción, sin duda. En cuanto al iPhone, no lo he probado, por lo que no tengo experiencias en primera persona al respecto.

    Saludos.


    José M. Aguilar
    Variable not found

    lunes, 3 de septiembre de 2012 19:19