SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Using SignalR to Build Real-
time Web Applications
Kevin Griffin - @1kevgriff
http://kevgriffin.com
April 3rd, 2015
Thank Our Sponsors without whom Today is not Possible
Platinum
Bronze
Silver
Housekeeping…
• Thanks to our host
• Respect your speakers and fellow attendees:
Set mobile devices to vibrate or silent
• Fill out session evaluations
• They are used in the drawings
• You must be present to win at the wrap-up
About Kevin
• Kevin Griffin
• Independent Consultant
CTO, Winsitter
• Twitter: @1kevgriff
Email: kevin@kevgriffin.com
• Microsoft ASP.NET MVP
ASPInsider
4/3/2015 @1kevgriff
Simple Windows Server Monitoring
14-day Free Trial
http://winsitter.com
Schedule and Control
Windows Updates
Across Your
Infrastructure
http://patchtuesday.io
http://wintellectnow.com
Promo Code: GRIFFIN-13
Agenda
• A History of the Web
• Methods for Building Real Time Web Applications
• Introducing SignalR
4/3/2015 @1kevgriff
Defining Real-Time
First: How does the web work?
4/3/2015 @1kevgriff
History of the Web (version 1.0)
Request
Response
History of the Web (version 1.0)
Request
Response
History of the Web (Web 2.0)
Request
Response
History of the Web (Web 2.0)
Request
Response
Web 3.0 and Beyond
Request
Response
Continuous Connection
Defining Real-Time
Updates to the client without
interactions from the user.
4/3/2015 @1kevgriff
Real-Time In Action
Can you name an example of a “real-time” site?
4/3/2015 @1kevgriff
Method #1: Interval
function updateInterface(){
// go to the server, do something
$.ajax({...});
setTimeout(10000, updateInterface);
}
setTimeout(10000, updateInterface);
Pros
Cons
• Works across all browsers
• More connections, more overhead
• More overhead, more bandwidth
• Server strain!
Method #2: Long Polling
function startListening(){
// note: this call can take as long
// as 120 seconds to return, depending
// on browser timeouts.
$.ajax({
url: “/blah”,
success: function (data){
startListening();
},
failure: function (err){
startListening();
},
});
}
Pros
Cons
• Works across all browsers
• Less server overhead and resource
consumption
• We still have to make connections on a
regular basis.
Method #3: Server Sent Events
var source = new EventSource('Events');
source.onmessage = function (event) {
// the server sent us data...
};
Pros
Cons
• Server can push data to browser
without requiring multiple
connections.
• One-way communication between the
server and the client. Client cannot
send messages to server.
• No Internet Explorer support (at all)
Method #4: Web Sockets
var websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) {
onOpen(evt)
};
websocket.onclose = function(evt) {
onClose(evt)
};
websocket.onmessage = function(evt) {
onMessage(evt)
};
websocket.onerror = function(evt) {
onError(evt)
};
Pros
Cons
• Bi-directional communication between
the server and the client.
• Holy grail!
• Limited support on older browsers.
• For .NET, requires IIS 8 or greater.
Introducing SignalR
Connected Clients
Transport
SignalR Hub (Server)
How to get SignalR
•NuGet
•https://github.com/SignalR/SignalR
4/3/2015 @1kevgriff
Wiring up the server and client
DEMO!!!
4/3/2015 @1kevgriff
Questions?
4/3/2015 @1kevgriff
Thanks for Attending!
• Kevin Griffin
• Owner, Griffin Consulting, Inc.
CTO, Winsitter
• Twitter: @1kevgriff
Email: kevin@kevgriffin.com
4/3/2015 @1kevgriff

Weitere ähnliche Inhalte

Was ist angesagt?

SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6Tung Nguyen Thanh
 
Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)Deepak Gupta
 
SignalR With ASP.Net part1
SignalR With ASP.Net part1SignalR With ASP.Net part1
SignalR With ASP.Net part1Esraa Ammar
 
signalr
signalrsignalr
signalrOwen Chen
 
Microsoft signal r
Microsoft signal rMicrosoft signal r
Microsoft signal rrustd
 
ÂŤReal TimeÂť Web Applications with SignalR in ASP.NET
ÂŤReal TimeÂť Web Applications with SignalR in ASP.NETÂŤReal TimeÂť Web Applications with SignalR in ASP.NET
ÂŤReal TimeÂť Web Applications with SignalR in ASP.NETAlessandro Giorgetti
 
Web Real-time Communications
Web Real-time CommunicationsWeb Real-time Communications
Web Real-time CommunicationsAlexei Skachykhin
 
Real time web applications with SignalR (BNE .NET UG)
Real time web applications with SignalR (BNE .NET UG)Real time web applications with SignalR (BNE .NET UG)
Real time web applications with SignalR (BNE .NET UG)brendankowitz
 
SignalR. Code, not toothpaste - TechDays Belgium 2012
SignalR. Code, not toothpaste - TechDays Belgium 2012SignalR. Code, not toothpaste - TechDays Belgium 2012
SignalR. Code, not toothpaste - TechDays Belgium 2012Maarten Balliauw
 
Building Real time Application with Azure SignalR Service
Building Real time Application with Azure SignalR ServiceBuilding Real time Application with Azure SignalR Service
Building Real time Application with Azure SignalR ServiceJalpesh Vadgama
 
Getting started with ASPNET Core SignalR
Getting started with ASPNET Core SignalRGetting started with ASPNET Core SignalR
Getting started with ASPNET Core SignalRNemi Chand
 
SignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsSignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsEugene Zharkov
 
Istio Service Mesh
Istio Service MeshIstio Service Mesh
Istio Service MeshLuke Marsden
 

Was ist angesagt? (20)

Real time web with SignalR
Real time web with SignalRReal time web with SignalR
Real time web with SignalR
 
SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6
 
SignalR Overview
SignalR OverviewSignalR Overview
SignalR Overview
 
SignalR
SignalRSignalR
SignalR
 
Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)
 
Intro to signalR
Intro to signalRIntro to signalR
Intro to signalR
 
SignalR With ASP.Net part1
SignalR With ASP.Net part1SignalR With ASP.Net part1
SignalR With ASP.Net part1
 
signalr
signalrsignalr
signalr
 
Microsoft signal r
Microsoft signal rMicrosoft signal r
Microsoft signal r
 
ÂŤReal TimeÂť Web Applications with SignalR in ASP.NET
ÂŤReal TimeÂť Web Applications with SignalR in ASP.NETÂŤReal TimeÂť Web Applications with SignalR in ASP.NET
ÂŤReal TimeÂť Web Applications with SignalR in ASP.NET
 
Web Real-time Communications
Web Real-time CommunicationsWeb Real-time Communications
Web Real-time Communications
 
Real time web applications with SignalR (BNE .NET UG)
Real time web applications with SignalR (BNE .NET UG)Real time web applications with SignalR (BNE .NET UG)
Real time web applications with SignalR (BNE .NET UG)
 
SignalR. Code, not toothpaste - TechDays Belgium 2012
SignalR. Code, not toothpaste - TechDays Belgium 2012SignalR. Code, not toothpaste - TechDays Belgium 2012
SignalR. Code, not toothpaste - TechDays Belgium 2012
 
Building Real time Application with Azure SignalR Service
Building Real time Application with Azure SignalR ServiceBuilding Real time Application with Azure SignalR Service
Building Real time Application with Azure SignalR Service
 
Getting started with ASPNET Core SignalR
Getting started with ASPNET Core SignalRGetting started with ASPNET Core SignalR
Getting started with ASPNET Core SignalR
 
SignalR 101
SignalR 101SignalR 101
SignalR 101
 
SignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsSignalR: Add real-time to your applications
SignalR: Add real-time to your applications
 
Istio Service Mesh
Istio Service MeshIstio Service Mesh
Istio Service Mesh
 
Containerize!
Containerize!Containerize!
Containerize!
 
Kong API
Kong APIKong API
Kong API
 

Andere mochten auch

Logeion - Presentatie social business en lifehacking 17 september 2012
Logeion - Presentatie social business en lifehacking 17 september 2012Logeion - Presentatie social business en lifehacking 17 september 2012
Logeion - Presentatie social business en lifehacking 17 september 2012Kees Romkes
 
raytheon Proxy Statement2007
raytheon Proxy Statement2007raytheon Proxy Statement2007
raytheon Proxy Statement2007finance12
 
tesoro 10-Q Third Quarter 2006
tesoro 10-Q Third Quarter 2006tesoro 10-Q Third Quarter 2006
tesoro 10-Q Third Quarter 2006finance12
 
goodyear 8K Reports 11/07/07
goodyear 8K Reports 11/07/07goodyear 8K Reports 11/07/07
goodyear 8K Reports 11/07/07finance12
 
Bar Camp Sg3.Virtual Worlds.Jeremy Snyder.Key
Bar Camp Sg3.Virtual Worlds.Jeremy Snyder.KeyBar Camp Sg3.Virtual Worlds.Jeremy Snyder.Key
Bar Camp Sg3.Virtual Worlds.Jeremy Snyder.KeyJeremy Snyder
 
Measuring SEO Success - Rob Garner - iCrossing - SES Chicago 2011
Measuring SEO Success - Rob Garner - iCrossing - SES Chicago 2011Measuring SEO Success - Rob Garner - iCrossing - SES Chicago 2011
Measuring SEO Success - Rob Garner - iCrossing - SES Chicago 2011iCrossing
 
Genesse, Julie Resume 2 10 09
Genesse, Julie Resume 2 10 09Genesse, Julie Resume 2 10 09
Genesse, Julie Resume 2 10 09juliegenesse
 
Building node.js Modules
Building node.js ModulesBuilding node.js Modules
Building node.js ModulesKevin Griffin
 
goodyear Proxy Statement 2006
goodyear Proxy Statement 2006goodyear Proxy Statement 2006
goodyear Proxy Statement 2006finance12
 
Interesting Information
Interesting InformationInteresting Information
Interesting Informationninedots
 
international paper Q3 2007 10-Q
international paper Q3 2007 10-Qinternational paper Q3 2007 10-Q
international paper Q3 2007 10-Qfinance12
 
manpower annual reports 2002
manpower annual reports 2002manpower annual reports 2002
manpower annual reports 2002finance12
 
international paper Annual Report on Form 10K 2004
international paper Annual Report on Form 10K 2004international paper Annual Report on Form 10K 2004
international paper Annual Report on Form 10K 2004finance12
 
constellation energy Q1 2008 Earnings Presentation 2008 First Quarter
constellation energy Q1 2008 Earnings Presentation 2008 First Quarterconstellation energy Q1 2008 Earnings Presentation 2008 First Quarter
constellation energy Q1 2008 Earnings Presentation 2008 First Quarterfinance12
 
goodyear 10Q Reports2Q'04 10-Q/A
goodyear 10Q Reports2Q'04 10-Q/Agoodyear 10Q Reports2Q'04 10-Q/A
goodyear 10Q Reports2Q'04 10-Q/Afinance12
 
goodyear 10Q Reports1Q'08 10-Q
goodyear 10Q Reports1Q'08 10-Qgoodyear 10Q Reports1Q'08 10-Q
goodyear 10Q Reports1Q'08 10-Qfinance12
 

Andere mochten auch (20)

Logeion - Presentatie social business en lifehacking 17 september 2012
Logeion - Presentatie social business en lifehacking 17 september 2012Logeion - Presentatie social business en lifehacking 17 september 2012
Logeion - Presentatie social business en lifehacking 17 september 2012
 
Vernal Pools - MAD Scientist 2 09
Vernal Pools - MAD Scientist 2 09Vernal Pools - MAD Scientist 2 09
Vernal Pools - MAD Scientist 2 09
 
raytheon Proxy Statement2007
raytheon Proxy Statement2007raytheon Proxy Statement2007
raytheon Proxy Statement2007
 
City
CityCity
City
 
tesoro 10-Q Third Quarter 2006
tesoro 10-Q Third Quarter 2006tesoro 10-Q Third Quarter 2006
tesoro 10-Q Third Quarter 2006
 
goodyear 8K Reports 11/07/07
goodyear 8K Reports 11/07/07goodyear 8K Reports 11/07/07
goodyear 8K Reports 11/07/07
 
Bar Camp Sg3.Virtual Worlds.Jeremy Snyder.Key
Bar Camp Sg3.Virtual Worlds.Jeremy Snyder.KeyBar Camp Sg3.Virtual Worlds.Jeremy Snyder.Key
Bar Camp Sg3.Virtual Worlds.Jeremy Snyder.Key
 
Measuring SEO Success - Rob Garner - iCrossing - SES Chicago 2011
Measuring SEO Success - Rob Garner - iCrossing - SES Chicago 2011Measuring SEO Success - Rob Garner - iCrossing - SES Chicago 2011
Measuring SEO Success - Rob Garner - iCrossing - SES Chicago 2011
 
Genesse, Julie Resume 2 10 09
Genesse, Julie Resume 2 10 09Genesse, Julie Resume 2 10 09
Genesse, Julie Resume 2 10 09
 
Building node.js Modules
Building node.js ModulesBuilding node.js Modules
Building node.js Modules
 
goodyear Proxy Statement 2006
goodyear Proxy Statement 2006goodyear Proxy Statement 2006
goodyear Proxy Statement 2006
 
Interesting Information
Interesting InformationInteresting Information
Interesting Information
 
international paper Q3 2007 10-Q
international paper Q3 2007 10-Qinternational paper Q3 2007 10-Q
international paper Q3 2007 10-Q
 
manpower annual reports 2002
manpower annual reports 2002manpower annual reports 2002
manpower annual reports 2002
 
international paper Annual Report on Form 10K 2004
international paper Annual Report on Form 10K 2004international paper Annual Report on Form 10K 2004
international paper Annual Report on Form 10K 2004
 
constellation energy Q1 2008 Earnings Presentation 2008 First Quarter
constellation energy Q1 2008 Earnings Presentation 2008 First Quarterconstellation energy Q1 2008 Earnings Presentation 2008 First Quarter
constellation energy Q1 2008 Earnings Presentation 2008 First Quarter
 
2012: Year in Review
2012: Year in Review2012: Year in Review
2012: Year in Review
 
goodyear 10Q Reports2Q'04 10-Q/A
goodyear 10Q Reports2Q'04 10-Q/Agoodyear 10Q Reports2Q'04 10-Q/A
goodyear 10Q Reports2Q'04 10-Q/A
 
goodyear 10Q Reports1Q'08 10-Q
goodyear 10Q Reports1Q'08 10-Qgoodyear 10Q Reports1Q'08 10-Q
goodyear 10Q Reports1Q'08 10-Q
 
Oec Vernal Pool Programt D. Celebrezze
Oec Vernal Pool Programt D. CelebrezzeOec Vernal Pool Programt D. Celebrezze
Oec Vernal Pool Programt D. Celebrezze
 

Ähnlich wie Building Real Time Web Applications with SignalR (NoVA Code Camp 2015)

Web Socket
Web SocketWeb Socket
Web SocketJack Bui
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha
 
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...rschuppe
 
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivitypkaviya
 
Event-Based API Patterns and Practices
Event-Based API Patterns and PracticesEvent-Based API Patterns and Practices
Event-Based API Patterns and PracticesLaunchAny
 
Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...
Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...
Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...eG Innovations
 
Difference between Client Polling vs Server Push vs Websocket vs Long Polling
Difference between Client Polling vs Server Push vs Websocket vs Long PollingDifference between Client Polling vs Server Push vs Websocket vs Long Polling
Difference between Client Polling vs Server Push vs Websocket vs Long Pollingjeetendra mandal
 
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsNicholas Jansma
 
Training Webinar: Detect Performance Bottlenecks of Applications
Training Webinar: Detect Performance Bottlenecks of ApplicationsTraining Webinar: Detect Performance Bottlenecks of Applications
Training Webinar: Detect Performance Bottlenecks of ApplicationsOutSystems
 
APIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go StreamingAPIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go StreamingPhil Wilkins
 
Ch 5: Bypassing Client-Side Controls
Ch 5: Bypassing Client-Side ControlsCh 5: Bypassing Client-Side Controls
Ch 5: Bypassing Client-Side ControlsSam Bowne
 
Edge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance MonitoringEdge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance MonitoringAkamai Technologies
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowVincent Biret
 
Delivering the right end user experience with your application performance
Delivering the right end user experience with your application performanceDelivering the right end user experience with your application performance
Delivering the right end user experience with your application performanceManageEngine, Zoho Corporation
 
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleJUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleC2B2 Consulting
 
Securing sharepoint
Securing sharepointSecuring sharepoint
Securing sharepointPeter_1020
 
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusDinusha Kumarasiri
 
Closing the door on application performance problems
Closing the door on application performance problemsClosing the door on application performance problems
Closing the door on application performance problemsManageEngine, Zoho Corporation
 
IRJET- An Overview of Web Sockets: The Future of Real-Time Communication
IRJET- An Overview of Web Sockets: The Future of Real-Time CommunicationIRJET- An Overview of Web Sockets: The Future of Real-Time Communication
IRJET- An Overview of Web Sockets: The Future of Real-Time CommunicationIRJET Journal
 
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...Sencha
 

Ähnlich wie Building Real Time Web Applications with SignalR (NoVA Code Camp 2015) (20)

Web Socket
Web SocketWeb Socket
Web Socket
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
 
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
 
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
 
Event-Based API Patterns and Practices
Event-Based API Patterns and PracticesEvent-Based API Patterns and Practices
Event-Based API Patterns and Practices
 
Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...
Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...
Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...
 
Difference between Client Polling vs Server Push vs Websocket vs Long Polling
Difference between Client Polling vs Server Push vs Websocket vs Long PollingDifference between Client Polling vs Server Push vs Websocket vs Long Polling
Difference between Client Polling vs Server Push vs Websocket vs Long Polling
 
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web Applications
 
Training Webinar: Detect Performance Bottlenecks of Applications
Training Webinar: Detect Performance Bottlenecks of ApplicationsTraining Webinar: Detect Performance Bottlenecks of Applications
Training Webinar: Detect Performance Bottlenecks of Applications
 
APIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go StreamingAPIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go Streaming
 
Ch 5: Bypassing Client-Side Controls
Ch 5: Bypassing Client-Side ControlsCh 5: Bypassing Client-Side Controls
Ch 5: Bypassing Client-Side Controls
 
Edge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance MonitoringEdge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance Monitoring
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
 
Delivering the right end user experience with your application performance
Delivering the right end user experience with your application performanceDelivering the right end user experience with your application performance
Delivering the right end user experience with your application performance
 
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleJUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
 
Securing sharepoint
Securing sharepointSecuring sharepoint
Securing sharepoint
 
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service Bus
 
Closing the door on application performance problems
Closing the door on application performance problemsClosing the door on application performance problems
Closing the door on application performance problems
 
IRJET- An Overview of Web Sockets: The Future of Real-Time Communication
IRJET- An Overview of Web Sockets: The Future of Real-Time CommunicationIRJET- An Overview of Web Sockets: The Future of Real-Time Communication
IRJET- An Overview of Web Sockets: The Future of Real-Time Communication
 
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...
 

Mehr von Kevin Griffin

Codemash - Building Custom node.js Modules
Codemash - Building Custom node.js ModulesCodemash - Building Custom node.js Modules
Codemash - Building Custom node.js ModulesKevin Griffin
 
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High GearASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High GearKevin Griffin
 
Robust Web APIs with node.js and Express
Robust Web APIs with node.js and ExpressRobust Web APIs with node.js and Express
Robust Web APIs with node.js and ExpressKevin Griffin
 
ASP.NET MVC From The Ground Up
ASP.NET MVC From The Ground UpASP.NET MVC From The Ground Up
ASP.NET MVC From The Ground UpKevin Griffin
 
jQuery From the Ground Up
jQuery From the Ground UpjQuery From the Ground Up
jQuery From the Ground UpKevin Griffin
 

Mehr von Kevin Griffin (6)

Codemash - Building Custom node.js Modules
Codemash - Building Custom node.js ModulesCodemash - Building Custom node.js Modules
Codemash - Building Custom node.js Modules
 
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High GearASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
 
Robust Web APIs with node.js and Express
Robust Web APIs with node.js and ExpressRobust Web APIs with node.js and Express
Robust Web APIs with node.js and Express
 
ASP.NET MVC From The Ground Up
ASP.NET MVC From The Ground UpASP.NET MVC From The Ground Up
ASP.NET MVC From The Ground Up
 
Async
AsyncAsync
Async
 
jQuery From the Ground Up
jQuery From the Ground UpjQuery From the Ground Up
jQuery From the Ground Up
 

KĂźrzlich hochgeladen

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

KĂźrzlich hochgeladen (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Building Real Time Web Applications with SignalR (NoVA Code Camp 2015)

  • 1. Using SignalR to Build Real- time Web Applications Kevin Griffin - @1kevgriff http://kevgriffin.com April 3rd, 2015
  • 2. Thank Our Sponsors without whom Today is not Possible Platinum Bronze Silver
  • 3. Housekeeping… • Thanks to our host • Respect your speakers and fellow attendees: Set mobile devices to vibrate or silent • Fill out session evaluations • They are used in the drawings • You must be present to win at the wrap-up
  • 4. About Kevin • Kevin Griffin • Independent Consultant CTO, Winsitter • Twitter: @1kevgriff Email: kevin@kevgriffin.com • Microsoft ASP.NET MVP ASPInsider 4/3/2015 @1kevgriff
  • 5. Simple Windows Server Monitoring 14-day Free Trial http://winsitter.com
  • 6. Schedule and Control Windows Updates Across Your Infrastructure http://patchtuesday.io
  • 8. Agenda • A History of the Web • Methods for Building Real Time Web Applications • Introducing SignalR 4/3/2015 @1kevgriff
  • 9. Defining Real-Time First: How does the web work? 4/3/2015 @1kevgriff
  • 10. History of the Web (version 1.0) Request Response
  • 11. History of the Web (version 1.0) Request Response
  • 12. History of the Web (Web 2.0) Request Response
  • 13. History of the Web (Web 2.0) Request Response
  • 14. Web 3.0 and Beyond Request Response Continuous Connection
  • 15. Defining Real-Time Updates to the client without interactions from the user. 4/3/2015 @1kevgriff
  • 16. Real-Time In Action Can you name an example of a “real-time” site? 4/3/2015 @1kevgriff
  • 17. Method #1: Interval function updateInterface(){ // go to the server, do something $.ajax({...}); setTimeout(10000, updateInterface); } setTimeout(10000, updateInterface); Pros Cons • Works across all browsers • More connections, more overhead • More overhead, more bandwidth • Server strain!
  • 18. Method #2: Long Polling function startListening(){ // note: this call can take as long // as 120 seconds to return, depending // on browser timeouts. $.ajax({ url: “/blah”, success: function (data){ startListening(); }, failure: function (err){ startListening(); }, }); } Pros Cons • Works across all browsers • Less server overhead and resource consumption • We still have to make connections on a regular basis.
  • 19. Method #3: Server Sent Events var source = new EventSource('Events'); source.onmessage = function (event) { // the server sent us data... }; Pros Cons • Server can push data to browser without requiring multiple connections. • One-way communication between the server and the client. Client cannot send messages to server. • No Internet Explorer support (at all)
  • 20. Method #4: Web Sockets var websocket = new WebSocket(wsUri); websocket.onopen = function(evt) { onOpen(evt) }; websocket.onclose = function(evt) { onClose(evt) }; websocket.onmessage = function(evt) { onMessage(evt) }; websocket.onerror = function(evt) { onError(evt) }; Pros Cons • Bi-directional communication between the server and the client. • Holy grail! • Limited support on older browsers. • For .NET, requires IIS 8 or greater.
  • 22. How to get SignalR •NuGet •https://github.com/SignalR/SignalR 4/3/2015 @1kevgriff
  • 23. Wiring up the server and client DEMO!!! 4/3/2015 @1kevgriff
  • 25. Thanks for Attending! • Kevin Griffin • Owner, Griffin Consulting, Inc. CTO, Winsitter • Twitter: @1kevgriff Email: kevin@kevgriffin.com 4/3/2015 @1kevgriff