Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SignalR

6,979 views

Published on

Introducing ASP.NET SignalR, a library for adding real-time capabilities to your web app, easily.

Published in: Technology
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/2F7hN3u ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ❶❶❶ http://bit.ly/2F7hN3u ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

SignalR

  1. 1. SignalR and ASP.NET Welcome to the Real-Time WebTuesday, March 26, 13
  2. 2. Who am I? I am a Microsoft Certified Solution Developer and I’ve been developing software since 1979. Since 2009, I have been focused on developing mobile applications, for  iPhone, Android, the mobile web, and Windows Phone 7.Tuesday, March 26, 13
  3. 3. Free mobile tutorials with source code @ therockncoder.blogspot.comTuesday, March 26, 13
  4. 4. Want more? Follow me, new tutorials are announced on Twitter first: @therockncoderTuesday, March 26, 13
  5. 5. Source code for my tutorials hosted on GitHub @ https://github.com/RockncoderTuesday, March 26, 13
  6. 6. Check out my videos: www.youtube.com/rockncoderTuesday, March 26, 13
  7. 7. Our Agenda • A Brief History of the Web • What is ASP.NET SignalR? • Under the Hood • Building DIRTy Apps • Debugging • Handling SuccessTuesday, March 26, 13
  8. 8. A Brief History of Web • 1990’s - The Static Web • 2000’s - The Age of Ajax • 2010’s - The Real-Time WebTuesday, March 26, 13
  9. 9. 1990’s - The Static Web • HTML versions 2.0 - 4.01 • (There never was a version 1.0) • Request/ResponseTuesday, March 26, 13
  10. 10. 2000’s - The Age of Ajax • XMLHttpRequest object • Prototype • jQueryTuesday, March 26, 13
  11. 11. 2010’s - The Real-Time Web • Comet • WebSocket • Real-Time LibrariesTuesday, March 26, 13
  12. 12. Comet • Holding open an HTTP connection via a variety of techniques like... • Hidden IFrame • Periodic Polling • Long Polling • Lots of PlumbingTuesday, March 26, 13
  13. 13. What is SPDY? • An open network protocol • Developed by Google • Goal is to reduce page load time • Does not replace HTTP • Modifies HTTP for performanceTuesday, March 26, 13
  14. 14. WebSocket • Full-duplex communication over a single TCP connection • Port 80 or 443 • A low level protocol • Great, but no backwards compatibilityTuesday, March 26, 13
  15. 15. Real-Time Libraries • Cramp • django-sse • sse • Socket.io/Now.js • SignalRTuesday, March 26, 13
  16. 16. What is ASP.NET SignalR? ASP.NET SignalR is a new library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications.Tuesday, March 26, 13
  17. 17. ASP.NET SignalR • Create as an open source project by two Microsoft employees: David Fowler & Damien Edwards • Adopted by Microsoft, but remains open source - source is on GitHub • Like jQuery for communications • Distributed via NuGetTuesday, March 26, 13
  18. 18. Under the Hood • WebSockets • Server Sent Events, Event Source • Forever Frame (IE only) • Ajax long polling • Only WebSockets is true full duplexTuesday, March 26, 13
  19. 19. Installing SignalR • The project exists on GitHub but • NuGet is the best way to install it • Install Microsoft ASP.NET SignalRTuesday, March 26, 13
  20. 20. What’s in the Package? • SignalR Core - Server side stuff • SignalR JS - JavaScript library • SignalR Owin - An OWIN adapter • SignalR SystemWeb - To host on IISTuesday, March 26, 13
  21. 21. Other Packages • SignalR Client - .NET client • SignalR Sample - A fake stock ticker • LCSK - Live chat app • SignalR.EventStream - Monitor your site • ElmahR.Elmah - ELMAH • and lots moreTuesday, March 26, 13
  22. 22. What is OWIN? • Open Web Interface for .NET • A specification for the communication between .NET Web Server and Web App • IIS isn’t the only .NET Web Server, there is HttpListener, server.dll, Kayak, and potentially others • SignalR depends on OWIN for hostingTuesday, March 26, 13
  23. 23. What’s It Good For? • dashboards • monitoring • collaborative anything • job progress • real-time forms • gaming...Tuesday, March 26, 13
  24. 24. http://shootr.signalr.netTuesday, March 26, 13
  25. 25. https://jabbr.netTuesday, March 26, 13
  26. 26. Building DIRTy Apps • Data Intensive Real-Time(y) Apps • Two main classes: • PersistentConnections • HubsTuesday, March 26, 13
  27. 27. Connections • The raw connection in SignalR • Can connect with 1 - n clients • Is an IHTTP handler • Requires route to be defined • Limited to sending messageTuesday, March 26, 13
  28. 28. Connection DemoTuesday, March 26, 13
  29. 29. Hubs • Built on top of PersistentConnection • Can connect with 1 - n clients • Routes automatically mapped • Can send messages and call methods • SignalR defines the protocolTuesday, March 26, 13
  30. 30. Hub DemoTuesday, March 26, 13
  31. 31. Debugging • With Chrome • With FiddlerTuesday, March 26, 13
  32. 32. Clients • JavaScript (as a jQuery plugin) • .NET 4.0/4.5 • Silverlight 5 • Windows Store Apps • iOS (community) • MonoTouch (community)Tuesday, March 26, 13
  33. 33. Clients • Windows Phone 8 • MonoTouch (official) • MonoDroid (official) • iOS (official) • .NET Micro Framework • JavaTuesday, March 26, 13
  34. 34. Handling Success • Scale-out via the backplane • Azure ServiceBus • Redis • SQL ServerTuesday, March 26, 13
  35. 35. Gotchas • Documentation is limited • Documentation may be out of date • But finally a released product!Tuesday, March 26, 13
  36. 36. Resources • http://signalr.net/ • https://jabbr.net • https://github.com/SignalR/SignalR/wiki • http://www.asp.net/signalr/overview/getting- started/tutorial-getting-started-with-signalrTuesday, March 26, 13
  37. 37. Summary ASP.NET SignalR makes it incredibly easy to add real-time capabilities to your web app.Tuesday, March 26, 13

×