SlideShare a Scribd company logo
SIGNALR


Building an async web app with .NET




            Oslo/NNUG
           Tomas Jansson
              29/01/13
Tomas Jansson
Manager/Faggruppeleder .NET
BEKK Oslo

@TomasJansson
http://blog.tomasjansson.com
AGENDA



         What is async web?
         Why async web?
         What is SignalR?
         How?
         Demo
         Summary
         Resources
WHAT IS ASYNC WEB?




When clients do not have
persistent connections              Client1



                                        1.




                                   Server
                         2.                   2.


                              3.              3.
            Client3                                Client2
WHAT IS ASYNC WEB?




When clients have persistent
connections against the server Client1



                                   1.




                               Server
                         2.              2.
            Client3                           Client2
WHY ASYNC WEB?




Richer clients

Diagnostic

Chat

Collaboration

Real-time analysis

Notifications

”Anything real-time”

”Anything collaborative”
WHAT IS SIGNALR?




Abstraction over persistent connections


Asynchronous scalable web applications


It’s like Socket.IO and nowjs (nodejs) for .NET
HOW?



1.   Install-package Microsoft.AspNet.SignalR -pre (-pre when pre-release)
2.   Server

              [HubName("simple")]
              public class SimpleHub : Hub
              {
                  public void CallOut(string message)
                  {
                      Clients.Others(message);
                  }
              }

3.   Client

              $(function() {
                  var simpleHub = $.connection.simple;
                  $.extend(simpleHub.client, {
                      echo: function(message) { alert(message); }
                  });
                  $("#some-button").click(function() {
                      simpleHub.server.callOut("Echo");
                  });
              });
DEMO TIME!




1. Persistent connection

2. Chat

3. Chat with Redis

4. (Windows app client) – if there is time
SCALE OUT




                                   pub/sub
           Server 1                                     Server 2




Client 1     Client 2   Client 3             Client 4     Client 5   Client 6
SUMMARY




• Async web is coming for you

• Collaboration, real-time and notification systems

• SignalR is a simple to use persistent connection abstraction for .NET
RESOURCE




• Demo projects: https://github.com/mastoj/SignalRPres

• SignalR project page: http://www.signalr.net

• SignalR on github: https://github.com/SignalR/SignalR (good samples)

• Redis for windows: http://tinyurl.com/winredis (Microsoft Open Tech)
Questions?

More Related Content

What's hot (19)

PDF
How to Design Reliable and Scalable Webhooks with RabbitMQ
Jim Liao
 
PPTX
Pune Ruby Meetup - November 2015
Amura Marketing Technologies Pvt. Ltd.
 
PDF
Master-Master Replication and Scaling of an Application Between Each of the I...
vsoshnikov
 
PPTX
Sitecore Universal tracker
Atanas Desev
 
PDF
Creating Custom Slack Integrations with Vapor 3 (Redux)
🔴 Keli'i Martin
 
KEY
Moving to the Cloud with ny times.com
bgerst
 
PDF
How to Shrink from 5 Tiers to 2 in a Multitier Microservices Architecture
vsoshnikov
 
PPTX
Vagrant
ProfessionalVMware
 
PPTX
Introduction to node
Justin Woo
 
PPTX
Mule esb How to convert from Json to Xml in 5 minutes
Gennaro Spagnoli
 
PDF
Protecting your site by detection
Marko Heijnen
 
ODP
Ez Content Staging for the rest of us
Gaetano Giunta
 
PDF
MJ Berends talk - Women & Non-Binary Focused Intro to AWS
AWS Chicago
 
PDF
How we found a firewall vendor bug using Teleport as a bastion jump host
Faelix Ltd
 
PPTX
Exploradores.caroes
maryespitia
 
KEY
RocketJS Nodejs rapid development framework for production web apps
wavome
 
ODP
Continuous delivery of Windows micro services in the cloud
Owain Perry
 
PPT
Find Number of VM message in Mule
Sunil Kumar
 
PDF
Getting Started with CAS
Misagh Moayyed
 
How to Design Reliable and Scalable Webhooks with RabbitMQ
Jim Liao
 
Pune Ruby Meetup - November 2015
Amura Marketing Technologies Pvt. Ltd.
 
Master-Master Replication and Scaling of an Application Between Each of the I...
vsoshnikov
 
Sitecore Universal tracker
Atanas Desev
 
Creating Custom Slack Integrations with Vapor 3 (Redux)
🔴 Keli'i Martin
 
Moving to the Cloud with ny times.com
bgerst
 
How to Shrink from 5 Tiers to 2 in a Multitier Microservices Architecture
vsoshnikov
 
Introduction to node
Justin Woo
 
Mule esb How to convert from Json to Xml in 5 minutes
Gennaro Spagnoli
 
Protecting your site by detection
Marko Heijnen
 
Ez Content Staging for the rest of us
Gaetano Giunta
 
MJ Berends talk - Women & Non-Binary Focused Intro to AWS
AWS Chicago
 
How we found a firewall vendor bug using Teleport as a bastion jump host
Faelix Ltd
 
Exploradores.caroes
maryespitia
 
RocketJS Nodejs rapid development framework for production web apps
wavome
 
Continuous delivery of Windows micro services in the cloud
Owain Perry
 
Find Number of VM message in Mule
Sunil Kumar
 
Getting Started with CAS
Misagh Moayyed
 

Similar to SignalR - Building an async web app with .NET (20)

PPTX
SignalR for ASP.NET Developers
Shivanand Arur
 
PPTX
Real-time Communications with SignalR
Shravan Kumar Kasagoni
 
PPTX
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Dinusha Kumarasiri
 
PPTX
Real time websites and mobile apps with SignalR
Roy Cornelissen
 
PPTX
Connected Web Systems
Damir Dobric
 
PPTX
SignalR powered real-time x-plat mobile apps!
Sam Basu
 
PPTX
SignalR with asp.net
Martin Bodocky
 
PPTX
SignalR Powered X-Platform Real-Time Apps!
Sam Basu
 
PDF
Real time web apps
Sepehr Rasouli
 
PPTX
Realtime web experience with signalR
Ran Wahle
 
PDF
SignalR: Add real-time to your applications
Eugene Zharkov
 
PPTX
Real time Communication with Signalr (Android Client)
Deepak Gupta
 
PPTX
Real-time Communication using SignalR and cloud
Radu Vunvulea
 
PDF
SignalR
Troy Miles
 
PPTX
SignalR with ASP.NET MVC 6
Tung Nguyen Thanh
 
PPTX
Signal r
Vasilios Kuznos
 
PPTX
How SignalR and SQL Dependency Work Process in ASP.NET with SQL Server?
Raju Ahmed
 
PPTX
SignalR Overview
Michael Sukachev
 
PPTX
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
.NET Conf UY
 
PPTX
Building Realtime Web Applications With ASP.NET SignalR
Shravan Kumar Kasagoni
 
SignalR for ASP.NET Developers
Shivanand Arur
 
Real-time Communications with SignalR
Shravan Kumar Kasagoni
 
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Dinusha Kumarasiri
 
Real time websites and mobile apps with SignalR
Roy Cornelissen
 
Connected Web Systems
Damir Dobric
 
SignalR powered real-time x-plat mobile apps!
Sam Basu
 
SignalR with asp.net
Martin Bodocky
 
SignalR Powered X-Platform Real-Time Apps!
Sam Basu
 
Real time web apps
Sepehr Rasouli
 
Realtime web experience with signalR
Ran Wahle
 
SignalR: Add real-time to your applications
Eugene Zharkov
 
Real time Communication with Signalr (Android Client)
Deepak Gupta
 
Real-time Communication using SignalR and cloud
Radu Vunvulea
 
SignalR
Troy Miles
 
SignalR with ASP.NET MVC 6
Tung Nguyen Thanh
 
Signal r
Vasilios Kuznos
 
How SignalR and SQL Dependency Work Process in ASP.NET with SQL Server?
Raju Ahmed
 
SignalR Overview
Michael Sukachev
 
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
.NET Conf UY
 
Building Realtime Web Applications With ASP.NET SignalR
Shravan Kumar Kasagoni
 
Ad

More from Tomas Jansson (12)

PPTX
Functional webapplicaations using fsharp and suave
Tomas Jansson
 
PPTX
F# as our day job by 2016
Tomas Jansson
 
PPTX
What does the future hold for us in asp.net 5
Tomas Jansson
 
PPTX
Polyglot heaven
Tomas Jansson
 
PPTX
OWIN Web API with Linky
Tomas Jansson
 
PPTX
Roslyn
Tomas Jansson
 
PPTX
File -> new project to deploy in 10 minutes with TeamCity and Octopus Deploy
Tomas Jansson
 
PPTX
Getting started with Elasticsearch and .NET
Tomas Jansson
 
PPTX
Deployment taken seriously with Octopus Deploy and TeamCity
Tomas Jansson
 
PPTX
State or intent
Tomas Jansson
 
PPTX
NServiceBus workshop presentation
Tomas Jansson
 
PPTX
REST for .NET - Introduction to ASP.NET Web API
Tomas Jansson
 
Functional webapplicaations using fsharp and suave
Tomas Jansson
 
F# as our day job by 2016
Tomas Jansson
 
What does the future hold for us in asp.net 5
Tomas Jansson
 
Polyglot heaven
Tomas Jansson
 
OWIN Web API with Linky
Tomas Jansson
 
File -> new project to deploy in 10 minutes with TeamCity and Octopus Deploy
Tomas Jansson
 
Getting started with Elasticsearch and .NET
Tomas Jansson
 
Deployment taken seriously with Octopus Deploy and TeamCity
Tomas Jansson
 
State or intent
Tomas Jansson
 
NServiceBus workshop presentation
Tomas Jansson
 
REST for .NET - Introduction to ASP.NET Web API
Tomas Jansson
 
Ad

Recently uploaded (20)

PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 

SignalR - Building an async web app with .NET

  • 1. SIGNALR Building an async web app with .NET Oslo/NNUG Tomas Jansson 29/01/13
  • 2. Tomas Jansson Manager/Faggruppeleder .NET BEKK Oslo @TomasJansson http://blog.tomasjansson.com
  • 3. AGENDA What is async web? Why async web? What is SignalR? How? Demo Summary Resources
  • 4. WHAT IS ASYNC WEB? When clients do not have persistent connections Client1 1. Server 2. 2. 3. 3. Client3 Client2
  • 5. WHAT IS ASYNC WEB? When clients have persistent connections against the server Client1 1. Server 2. 2. Client3 Client2
  • 6. WHY ASYNC WEB? Richer clients Diagnostic Chat Collaboration Real-time analysis Notifications ”Anything real-time” ”Anything collaborative”
  • 7. WHAT IS SIGNALR? Abstraction over persistent connections Asynchronous scalable web applications It’s like Socket.IO and nowjs (nodejs) for .NET
  • 8. HOW? 1. Install-package Microsoft.AspNet.SignalR -pre (-pre when pre-release) 2. Server [HubName("simple")] public class SimpleHub : Hub { public void CallOut(string message) { Clients.Others(message); } } 3. Client $(function() { var simpleHub = $.connection.simple; $.extend(simpleHub.client, { echo: function(message) { alert(message); } }); $("#some-button").click(function() { simpleHub.server.callOut("Echo"); }); });
  • 9. DEMO TIME! 1. Persistent connection 2. Chat 3. Chat with Redis 4. (Windows app client) – if there is time
  • 10. SCALE OUT pub/sub Server 1 Server 2 Client 1 Client 2 Client 3 Client 4 Client 5 Client 6
  • 11. SUMMARY • Async web is coming for you • Collaboration, real-time and notification systems • SignalR is a simple to use persistent connection abstraction for .NET
  • 12. RESOURCE • Demo projects: https://github.com/mastoj/SignalRPres • SignalR project page: http://www.signalr.net • SignalR on github: https://github.com/SignalR/SignalR (good samples) • Redis for windows: http://tinyurl.com/winredis (Microsoft Open Tech)

Editor's Notes

  • #3: Hej, jag heter Tomas
  • #5: I en synkron miljø så tar hvert enkelt request en thread  mange request  lavere ytelse
  • #6: Nå er vi ikke avhengig av noen polling tid hvis vi har en «true» persistent connection.Modellen er asyn, så hver connection trenger ikke en egen thread.
  • #8: Vi trenger abstraktionen då web socket ikke er 100% støttet og å programmere mot socket er vanskeligDet er en abstraktion over en persistent connectionWebSockets --> server sent events --> forever frame --> long pollingWebSockets  persistent tcp connectionServer sent events /eventsource  one way messaging / client listens to eventsForever frame – En iframe etter sidlasting med en laaang connectionLong polling  poll and wait for dataSkallerer bra, lagrer ikke noe state på serveren. Har støtte for scale out gjenom redis og azure service bus som default.
  • #13: ASP.NET Web API finns demos og forklaringerDemo project kommer med magisk branching graf