MICROSOFT DEVELOPER PHILIPPINES TECHNICAL SHARING




SIGNALR
101                                                         Patrick Oliveros
                                                    Microsoft MVP ASP.NET/IIS
The web evolved
       Event-based, real-time UI


     Partial page updates (Ajax), RIA


          Dynamic pages, forms


            Static HTML pages
Scenarios
Implementations
   Periodic Pooling

   Long Polling

   Server-Sent Events

   Web Sockets
Periodic Pooling

 Polling interval
 Cons:

 • Poll from time to time using Ajax
 • Delay in communications due to polling interval
 • Wastes bandwidth & latency 
Long Pooling


 Cons:

 • Poll but don’t respond untill there’s data
 • Poll again after data received or after the connection times out
 • Consumes server threads & connection resources 
Web Sockets (HTML 5)
  •   Extension to HTTP
  •   Provide raw sockets over HTTP
  •   Full-duplex
  •   Traverses proxies

  •   It’s still a draft…
  •   Not every proxy server supports it 
  •   Not every webserver supports it 
  •   Not every browser supports it 
  •   They are raw sockets!
So What Now?
  Superman SignalR to the rescue!
Enter SignalR

• ASP.NET SignalR is a new library for ASP.NET developer that makes it incredibly
  simple to add real-time web functionality to your applications
• Async signaling library for .NET to help build real-time, multi-user interactive web
  applications ( aka persistent connection abstraction for .NET);
Enter SignalR
Transport Priority
         Web Sockets


       Server-Sent Events


         Forever Frame


          Long Polling
Demo
Resources
 • SignalR project page:

               http://www.signalr.net

 • SignalR on github:

               https://github.com/SignalR/SignalR
Thanks!

SignalR 101

  • 1.
    MICROSOFT DEVELOPER PHILIPPINESTECHNICAL SHARING SIGNALR 101 Patrick Oliveros Microsoft MVP ASP.NET/IIS
  • 2.
    The web evolved Event-based, real-time UI Partial page updates (Ajax), RIA Dynamic pages, forms Static HTML pages
  • 3.
  • 4.
    Implementations Periodic Pooling Long Polling Server-Sent Events Web Sockets
  • 5.
    Periodic Pooling Pollinginterval Cons: • Poll from time to time using Ajax • Delay in communications due to polling interval • Wastes bandwidth & latency 
  • 6.
    Long Pooling Cons: • Poll but don’t respond untill there’s data • Poll again after data received or after the connection times out • Consumes server threads & connection resources 
  • 7.
    Web Sockets (HTML5) • Extension to HTTP • Provide raw sockets over HTTP • Full-duplex • Traverses proxies • It’s still a draft… • Not every proxy server supports it  • Not every webserver supports it  • Not every browser supports it  • They are raw sockets!
  • 8.
    So What Now? Superman SignalR to the rescue!
  • 9.
    Enter SignalR • ASP.NETSignalR is a new library for ASP.NET developer that makes it incredibly simple to add real-time web functionality to your applications • Async signaling library for .NET to help build real-time, multi-user interactive web applications ( aka persistent connection abstraction for .NET);
  • 10.
  • 11.
    Transport Priority Web Sockets Server-Sent Events Forever Frame Long Polling
  • 12.
  • 13.
    Resources • SignalRproject page: http://www.signalr.net • SignalR on github: https://github.com/SignalR/SignalR
  • 14.