Mostrando entradas con la etiqueta signalr. Mostrar todas las entradas
Mostrando entradas con la etiqueta signalr. Mostrar todas las entradas
miércoles, 18 de mayo de 2016
Sorteo cerrado, ya tenemos los ganadores :) Muchas gracias a todos por participar!
Como os comenté hace unos días, vamos a celebrar el décimo aniversario de este blog con regalos para vosotros, que al fin y al cabo sois los que habéis hecho posible que hayamos llegado tan lejos en esta aventura.También os adelanté que mi idea era organizar sorteos de productos y servicios proporcionados por los patrocinadores que se han sumado a este acontecimiento. Se trata de empresas que todos conocéis sobradamente y que han decidido donar productos y servicios de gran calidad (y habitualmente de un coste considerable) para vosotros.
Pero para inaugurar esta serie, quería empezar con una aportación personal que, por su significado, es para mi muy especial: sortearemos 3 ejemplares en papel de mi libro "Programación con ASP.NET SignalR".
Publicado por José M. Aguilar a las 8:59 a. m.
Hay
33 comentarios, ¡participa tú también!
Etiquetas: 10años, aniversario, signalr, sorteo
martes, 16 de junio de 2015
Me complace informaros de que, por fin, tenemos disponible en nuestro idioma mi libro sobre SignalR 2.0 que ya lleva algún tiempo en el mercado publicado en inglés por Microsoft Press, como libro “oficial” de esta tecnología.
Tras las traducciones al japonés y al chino, finalmente lo tenemos en español gracias al interés que desde un principio habéis mostrado todos, y al equipo de CampusMVP/Krasis Press, que han sido los encargados de sacarlo adelante. Un gran periplo desde su creación hasta devolverlo a su idioma original, que explica fantásticamente José Manuel Alarcón en su entrada "SignalR: la vuelta al mundo de un libro", y que os recomiendo que no os perdáis para conocer cómo empezó esta aventura y las cosas increíbles que han ocurrido desde entonces :)
martes, 8 de julio de 2014
En versiones previas de SignalR, cuando en un hub recibimos el evento
OnDisconnected()
en realidad no sabemos si este cierre ha sido “educado”, es decir, provocado explícitamente por el cliente como consecuencia de una acción, como puede ser que el usuario haya decidido salir de la aplicación, o bien se ha debido a un problema en el software o comunicaciones (imaginad, por ejemplo, que se cae la conexión a internet).
miércoles, 25 de junio de 2014
En esta serie de posts recorreremos las características más interesantes incluidas en esta revisión, y comenzaremos tratando la nueva capacidad de hacer llamadas al lado cliente desde los Hubs utilizando tipado fuerte.
martes, 18 de febrero de 2014
Actualizado el 16-6-2015:
¡El libro está disponible en español!
¡El libro está disponible en español!
Por fin llegó el momento que estaba esperando desde hace tiempo: tras muchos meses de trabajo y preparativos, ya está disponible mi libro “SignalR Programming in Microsoft ASP.NET” :-) ¡¡Hurra!!
Publicado directamente en inglés por Microsoft Press, ha sido desde su origen un proyecto mucho más ambicioso que mi anterior incursión en el mundo literario, que seguro recordaréis, principalmente porque se trata de un libro con una difusión, repercusión y alcance mucho mayor que el anterior, y al que hemos tenido que dedicar muchísimo esfuerzo, tiempo e ilusión todos los implicados (¡que no son pocos!) para lograr un resultado que esperamos esté a la altura de las circunstancias.
El libro tiene más de 250 páginas a través de las cuales se describen tanto temas básicos como aspectos avanzados de la programación con la versión 2 de SignalR. El índice resumido es el siguiente:
- Internet, asynchrony, multiuser… wow!
- HTTP: you are the client, and you are the boss
- Introducing SignalR
Estos tres primeros capítulos introducen las aplicaciones asíncronas en tiempo real y los conceptos básicos que necesitamos conocer para trabajar con SignalR: qué es, qué nos aporta, y qué mecanismos hacen que todo esto funcione. - Persistent connections En el cuarto capítulo comenzamos ya a trabajar con conexiones persistentes, tanto en el lado servidor como en el cliente, describiendo en detalle las APIs que ofrece SignalR para comunicar ambos extremos.
- Hubs Aquí se describe profundidad el uso de hubs, tanto en el lado cliente como en el servidor, describiendo detalladamente las herramientas disponibles para enviar y recibir datos desde ambas partes, mantener el estado, implementar trazas, y muchos otros aspectos de interés al programar hubs de SignalR.
- Persistent connections and hubs from other threads
En este capítulo se describen las herramientas proporcionadas por SignalR para utilizar hubs y conexiones persistentes desde hilos de ejecución externos a dicho framework. - Real-time multiplatform applications
Este capítulo está dedicado a la publicación y consumo de servicios desde servidores y clientes no web. Se describen técnicas de self-hosting en distintos entornos, y cómo implementar clientes en plataformas como Windows 8 o Windows Phone. - Deploying and scaling SignalR
En este capítulo se muestran los fundamentos de la escalabilidad de SignalR y distintas estrategias para enfrentarse a los problemas asociados al escalado de servicios. Estudiamos los backplanes incluidos de serie en el producto e incluso cómo crear backplanes propios, y finalmente, apuntamos técnicas para mejorar el rendimiento y medir el rendimiento de nuestros sistemas. - Advanced topics
Aquí tratamos temas como autorización en Hubs, extensión de SignalR, inyección de dependencias, pruebas unitarias, intercepción de mensajes e integración con otros frameworks en cliente y servidor.
FAQ
¿Dónde puedo comprarlo? | Pues básicamente donde quieras, aunque Amazon o InformIT pueden ser buenos puntos de partida. |
¿En qué formatos está disponible? | El libro se comercializa en formato digital y en papel. En el primer caso, he visto que es posible obtenerlo en ePub, Mobi y PDF. |
¿Va a salir el libro en español? | Pues sinceramente, no lo sé. Desde luego, a corto plazo sólo estará en inglés y a día de hoy no existen planes para publicarlo en castellano, aunque no sé si esto cambiará en el futuro. |
Agradecimientos
No me gustaría acabar el post sin antes agradecer al equipo de CampusMVP, con José Manuel Alarcón al frente, la oportunidad que me han brindado para poder participar en este proyecto y la fantástica gestión y ejecución del mismo. También al amigo Javier Suárez Ruíz por su imprescindible colaboración en algunos ejemplos.Y por parte de Microsoft Press, entre muchos otros, agradecimiento infinito a Devon Musgrave por haber apostado por este proyecto desde el principio, a nuestra editora Carol Dillingham por su gran trabajo para llevarlo a cabo y a Todd Meister por sus minuciosas revisiones técnicas. Incluso hemos tenido la inmensa fortuna de contar con revisiones y comentarios de los padres de SignalR, Damian Edwards y David Fowler, a los que también envío mi agradecimiento. Todo un lujazo, vaya :)
Por mi parte, trabajar en este libro ha sido un honor y una experiencia impresionante, dura pero muy enriquecedora. Ahora espero que os sea de utilidad, que al fin y al cabo es lo que hace que el esfuerzo valga la pena :-)
Publicado en Variable not found.
martes, 9 de julio de 2013
Si estamos trabajando en el entorno web, es decir, cuando cliente y servidor son puras tecnologías web y están ejecutándose en el mismo contexto, el servidor determina si el cliente SignalR está autenticado utilizando los mismos mecanismos de siempre, basados en la existencia de la cookie de autorización de ASP.NET y en los datos contenidos en ésta.
De esta forma, si un cliente entra con su navegador a nuestra web y supera el procedimiento de autenticación, a partir de ese momento todas sus peticiones llevarán adjunta la cookie de autorización, y ésta misma es la que usará SignalR para conceder o denegar el acceso a los métodos de los Hubs cuando accedamos a ellos usando el cliente Javascript.
Sin embargo, a través del formulario de contacto de Variable not found, me llega una consulta muy interesante del amigo Juan F.: ¿cómo podemos usar ese mismo atributo
Authorize
para controlar el acceso desde aplicaciones no web, las que usan el cliente genérico .NET de SignalR?
martes, 9 de abril de 2013
SignalR permite controlar el acceso a los métodos del interior los Hubs de una forma muy similar a como hacemos en ASP.NET MVC o WebAPI.
Y cuando digo muy similar no estoy exagerando en absoluto, como podéis observar en el siguiente código:
Y cuando digo muy similar no estoy exagerando en absoluto, como podéis observar en el siguiente código:
miércoles, 20 de marzo de 2013
Seguro que estaréis al tanto de que durante los últimos tiempos he estado trabajando junto con los amigos de Krasis/CampusMVP en la publicación de un libro sobre SignalR. De hecho, probablemente también sabréis que la versión en inglés del mismo se presentó y comenzó a distribuir para Estados Unidos (bueno, y para todo el mundo) hace unas semanas, cuando aún SignalR se encontraba en Release Candidate, y ha conseguido atraer a varios miles de lectores y muy buenas críticas durante este periodo.
Bueno, pues ya de forma oficial, me complace informaros de que desde hace unos días en la tienda de Krasis está disponible mi primer libro, y el primero del mundo sobre este nuevo framework: Introducción a ASP.NET SignalR. Revisado, actualizado a la versión 1.0.1 de SignalR y, por supuesto, en español :-)
Ante todo, agradecer a Krasis, y en concreto a José Manuel Alarcón, su continuo apoyo, colaboración e imparable empuje, sin los cuales no habría sido posible llegar a materializar este proyecto.
Es un libro relativamente corto, unas ochenta páginas, que de momento va a ser distribuido exclusivamente en formato electrónico. De esta forma, se evitan los costes asociados a la impresión, manipulación y logística, y se permite su comercialización a un precio creo que bastante razonable ;-)
Y ya entrando en los contenidos, a lo largo del texto hace una introducción a los protocolos, tecnologías y técnicas que hay por detrás de las aplicaciones multiusuario en tiempo real, e introduce SignalR desde cero, mostrando mediante código y ejemplos cómo podemos sacarle partido a este impresionante marco de trabajo y construir increíbles aplicaciones web (¡y no web!) de forma pasmosamente sencilla.
A grandes rasgos, el recorrido que hacemos es el siguiente:
Espero que lo disfrutéis y, sobre todo, os sea de utilidad para abriros a nuevas posibilidades e introducir en vuestras aplicaciones sorprendentes funcionalidades multiusuario en tiempo real. ¡Uau!
El árbol, los hijos, el libro… creo que ya no me falta nada ;-)
Publicado en Variable not found.
Ante todo, agradecer a Krasis, y en concreto a José Manuel Alarcón, su continuo apoyo, colaboración e imparable empuje, sin los cuales no habría sido posible llegar a materializar este proyecto.
Es un libro relativamente corto, unas ochenta páginas, que de momento va a ser distribuido exclusivamente en formato electrónico. De esta forma, se evitan los costes asociados a la impresión, manipulación y logística, y se permite su comercialización a un precio creo que bastante razonable ;-)
Y ya entrando en los contenidos, a lo largo del texto hace una introducción a los protocolos, tecnologías y técnicas que hay por detrás de las aplicaciones multiusuario en tiempo real, e introduce SignalR desde cero, mostrando mediante código y ejemplos cómo podemos sacarle partido a este impresionante marco de trabajo y construir increíbles aplicaciones web (¡y no web!) de forma pasmosamente sencilla.
A grandes rasgos, el recorrido que hacemos es el siguiente:
- En primer lugar, tras una breve introducción, explicamos detalladamente las limitaciones de HTTP para la implementación de sistemas multiusuario en tiempo real, y estudiamos detalladamente los protocolos y técnicas que podemos usar para implementar escenarios Push.
- A continuación, presentamos SignalR y proporcionamos una visión de alto nivel del framework.
- Seguidamente, se describe la implementación de servidores y clientes javascript usando persistent connections, el nivel más bajo de abstracción facilitado por SignalR.
- En el siguiente capítulo ascendemos de nivel de abstracción y comenzamos a desarrollar utilizando Hubs en servidor y distintos enfoques para consumir los servicios desde javascript.
- A continuación estudiamos cómo enlazar aplicaciones más convencionales con servicios en tiempo real proporcionados por SignalR, gracias a la capacidad de consumirlos desde procesos externos.
- Y por último, demostrando que este framework no sólo es utilizable en entornos web, aprenderemos a acceder a servicios SignalR desde clientes de todo tipo, y a alojarlos en procesos no ASP.NET, como podría ser una aplicación de consola o un servicio del sistema operativo.
Espero que lo disfrutéis y, sobre todo, os sea de utilidad para abriros a nuevas posibilidades e introducir en vuestras aplicaciones sorprendentes funcionalidades multiusuario en tiempo real. ¡Uau!
El árbol, los hijos, el libro… creo que ya no me falta nada ;-)
Publicado en Variable not found.
martes, 12 de marzo de 2013
Sin embargo, puede haber casos en los que no nos interesa este comportamiento y preferimos generarlo de forma manual para, por ejemplo, incluirlo en un bundle o distribuir el archivo a través de una CDN. Veamos cómo conseguirlo.
miércoles, 16 de enero de 2013
public class MyHub: Hub { public Task sendMessage(string text) { using (var services = new LogServices()) { services.Log(Context.ConnectionId, text); return Clients.All.receiveMessage(text); } } }
lunes, 28 de mayo de 2012
Ante todo, agradeceros a los asistentes que decidierais pasar esa tarde con nosotros. Una audiencia bastante numerosa para estos tiempos que corren, y un gran número de amigos que os quedasteis hasta el final las dos horas que estuvimos hablando sobre esta pequeña maravilla. Incluso hubo quien comentó que se le habían hecho cortas ;-) Muchas gracias a todos.
miércoles, 16 de mayo de 2012
El “cartel” oficial del evento es el siguiente:
SIGNALR: APLICACIONES MULTIUSUARIO, ASÍNCRONAS, Y EN TIEMPO REAL. ¡UAU!
¿Te has preguntado alguna vez cómo es posible que en una aplicación web como Google Docs varios usuarios puedan interactuar de forma simultánea? ¿Te interesa la tecnología que usan los grandes como Facebook o Twitter para informarte en tiempo real de que algo ha ocurrido? ¿Piensas que crear un chat basado puramente en ASP.NET no es tarea sencilla? ¿Te gustaría que el servidor pudiera enviar información a los clientes en cualquier momento, sin esperar a que éstos soliciten una página o recurso?No te pierdas este evento y aprende a poner un factor “¡uau!” en tus desarrollos.
Os recuerdo que se trata de un Webcast, o sea, que podéis asistir a este evento desde vuestro sillón favorito, acompañados de una buena cerveza y un saco de palomitas. Y por supuesto, es totalmente gratuito.
Lo único que debéis hacer para poder asistir es registraros:
- Día: jueves 24 de mayo, 19:00h (hora peninsular española)
- URL del registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032512978&Culture=es-ES
martes, 20 de marzo de 2012
Como vengo comentando desde hace un tiempo, SignalR es un framework realmente impresionante y aporta unas posibilidades enormes en prácticamente cualquier tipo de aplicación. Ya hemos visto qué es y las bases en las que se sustenta, y también hemos visto algunos ejemplos de uso utilizando conexiones persistentes (aquí y aquí), que es el enfoque de menor nivel disponible a la hora de desarrollar servicios basados en esta plataforma.
En este post ascenderemos a un nivel de abstracción mucho mayor que el proporcionado por las conexiones persistentes y veremos cómo utilizar los Hubs, otro mecanismo proporcionado por SignalR que nos permitirá lograr una integración increíble entre el código cliente y de servidor, y hará aún más sencilla la implementación de este tipo de servicios.
En este post ascenderemos a un nivel de abstracción mucho mayor que el proporcionado por las conexiones persistentes y veremos cómo utilizar los Hubs, otro mecanismo proporcionado por SignalR que nos permitirá lograr una integración increíble entre el código cliente y de servidor, y hará aún más sencilla la implementación de este tipo de servicios.
martes, 13 de marzo de 2012
Por tanto, esta tercera entrega de la serie vamos a dedicarla (otra vez ;-)) a las conexiones persistentes, veremos qué cosas han cambiado con la llegada de la revisión 0.4, y desarrollaremos un nuevo ejemplo que ilustre las novedades que podemos encontrar a la hora de trabajar a bajo nivel con SignalR.
martes, 24 de enero de 2012
Hace poco estuvimos viendo por aquí conceptos básicos sobre SignalR, el componente que nos permite crear espectaculares aplicaciones en las que múltiples usuarios pueden estar colaborando de forma simultánea, asíncrona, y en tiempo real.
Entre otras cosas, comentábamos que SignalR crea una capa de abstracciones sobre una conexión virtual permanente entre cliente y servidor, sobre la que podemos trabajar de diferentes formas:
Entre otras cosas, comentábamos que SignalR crea una capa de abstracciones sobre una conexión virtual permanente entre cliente y servidor, sobre la que podemos trabajar de diferentes formas:
- mediante conexiones persistentes, la opción de menor nivel, que proporciona mecanismos de notificación de conexión y desconexión de clientes, así como para recibir y enviar mensajes asíncronos a clientes conectados, tanto de forma individual como colectiva.
- mediante el uso de “hubs”, que ofrece una interfaz de desarrollo mucho más sencilla, con una integración entre cliente y servidor que parece pura magia, y que seguro será la opción más utilizada por su potencia y facilidad de uso.
martes, 17 de enero de 2012
Por ejemplo, en Google Docs, si estamos editando un documento online y otro usuario accede al mismo, podemos ver sobre la marcha que ha entrado, e incluso las modificaciones que va realizando sobre el documento. O algo más cotidiano, en un simple chat vía web van apareciendo los mensajes tecleados por nuestros compañeros de sala como por arte de magia. Ambos sistemas utilizan el mismo tipo de solución: el envío asíncrono de datos entre servidor y clientes en tiempo real.
En esta serie de artículos veremos cómo podemos implementar sorprendentes funcionalidades de este tipo utilizando SignalR, un framework open source desarrollado por gente del equipo de ASP.NET, que nos facilitará bastante la tarea.
Publicado por José M. Aguilar a las 8:58 p. m.
Etiquetas: ajax, asp.net, aspnetmvc, desarrollo, signalr