SlideShare a Scribd company logo
1 of 13
http://dublinalt.net
@dublinaltnet
Alt.net Ireland LinkedIn
Group
Google Group - dublinaltnet
Sponsored by
www.wonga.com
www.openwonga.com
What is SignalR?
• It’s a library for adding real-time functionality to an
application
• It’s open source, written by Microsoft Open
technologies
• Free to use under Apache 2.0. License
When to use SignalR
• Do you have an app that requires a page to refresh
in order to get new data ?
o Refresh data using Ajax or just a page reload
• Need to notify client(s) about new event(s) ?
• Need duplex communication?
o Ex: Real time document editing
o Chat
o Game
What OS is supported?
• Server
o Microsoft Windows
• Windows 7,8
• Windows Server 2008 R2, 2012
• Windows Azure
o Linux with Mono
• Clients
o WPF
o WinRT
o Windows Phone
o Silverlight
o JavaScript Client
o iOS (community supported)
Things to know before
deploying
• .Net Framework 4.0 & 4.5
• IIS 7.x or 8
o IIS Express is also supported
• WebSockets are supported only by IIS 8 (including
IIS8 Express)
Browser support
• Internet Explorer
o WebSockets (10+)
o ForeverFrame (8+)
o Long polling (8+)
• Firefox, Chrome, Safari
o WebSockets
o Server-Sent Events
o Long polling
How does it work?
Hubs API
• High level API that allows to make remote
procedure calls from a server to connected clients.
• Easy to use
{demo}
• {Change shape demo}
Configuration explained
• To start using HubsApi (Web Client):
o Define a root that client will used to connect to our Hub class. Use
Route.Table.MapHubs() in your Application_Start method
o Default route is “/signalr”
o Route can be customized by assigning a new value to route URL:
• Server side configuration:
o RouteTable.Routes.MapHubs("/signalr", new HubConfiguration())
• JavaScript configuration:
o .connection.hub.url = "/signalr”
• Create a Hub class – a class that will allow us to call
client methods.
o Hub class must inherit form Microsoft.Aspnet.Signalr.Hub
Transport selection
1. WebSocket
o If IE 8 or earlier then skip step 2 & 3
o If Cross-domain request, check if client & server supports WebSocket else
use 4.
2. ServerSent Event
3. Forever Frame
4. Long Polling
5. SignalR supports custom transport selection
o Developers can specify the transport selection order
connection.start({ transport: ['webSockets','longPolling'] });
Things to remember
• There is no compile time validation
• Cross-Domain connection is not configured by
default
• do not use jQuery.support.cors=true
Q & A
• @DorinManoli

More Related Content

What's hot (6)

Asp Net (FT Preasen Revankar)
Asp Net   (FT  Preasen Revankar)Asp Net   (FT  Preasen Revankar)
Asp Net (FT Preasen Revankar)
 
ASP.NET Brief History
ASP.NET Brief HistoryASP.NET Brief History
ASP.NET Brief History
 
AtlasCamp 2010: Macro Migration Guide for Confluence 4.0 - Ryan Thomas
AtlasCamp 2010: Macro Migration Guide for Confluence 4.0 - Ryan ThomasAtlasCamp 2010: Macro Migration Guide for Confluence 4.0 - Ryan Thomas
AtlasCamp 2010: Macro Migration Guide for Confluence 4.0 - Ryan Thomas
 
IBM SCO ( SmartCloud Orchestrator) integration with Network Management tool
 IBM SCO ( SmartCloud Orchestrator) integration with Network Management tool IBM SCO ( SmartCloud Orchestrator) integration with Network Management tool
IBM SCO ( SmartCloud Orchestrator) integration with Network Management tool
 
C# 8 in Libraries and Applications
C# 8 in Libraries and ApplicationsC# 8 in Libraries and Applications
C# 8 in Libraries and Applications
 
.NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA...
.NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA....NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA...
.NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA...
 

Viewers also liked (6)

Intro to HTML5 audio tag
Intro to HTML5 audio tagIntro to HTML5 audio tag
Intro to HTML5 audio tag
 
Forms with html5 (1)
Forms with html5 (1)Forms with html5 (1)
Forms with html5 (1)
 
Video in html 5
Video in html 5Video in html 5
Video in html 5
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorial
 
HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)
 
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
 

Similar to SignalR Dublin ALT.NET

IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptx
suptel
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache Thrift
RX-M Enterprises LLC
 

Similar to SignalR Dublin ALT.NET (20)

Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
 
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.jsAsynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
 
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2
 
SignalR
SignalR SignalR
SignalR
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App services
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
 
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel AppelBuilding Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & Development
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptx
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache Thrift
 
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
 
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
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile Apps
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Matrix.org decentralised communication, Matthew Hodgson, TADSummit
Matrix.org decentralised communication, Matthew Hodgson, TADSummitMatrix.org decentralised communication, Matthew Hodgson, TADSummit
Matrix.org decentralised communication, Matthew Hodgson, TADSummit
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
 
Duo World Architecture
Duo World ArchitectureDuo World Architecture
Duo World Architecture
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

SignalR Dublin ALT.NET

  • 1. http://dublinalt.net @dublinaltnet Alt.net Ireland LinkedIn Group Google Group - dublinaltnet Sponsored by www.wonga.com www.openwonga.com
  • 2. What is SignalR? • It’s a library for adding real-time functionality to an application • It’s open source, written by Microsoft Open technologies • Free to use under Apache 2.0. License
  • 3. When to use SignalR • Do you have an app that requires a page to refresh in order to get new data ? o Refresh data using Ajax or just a page reload • Need to notify client(s) about new event(s) ? • Need duplex communication? o Ex: Real time document editing o Chat o Game
  • 4. What OS is supported? • Server o Microsoft Windows • Windows 7,8 • Windows Server 2008 R2, 2012 • Windows Azure o Linux with Mono • Clients o WPF o WinRT o Windows Phone o Silverlight o JavaScript Client o iOS (community supported)
  • 5. Things to know before deploying • .Net Framework 4.0 & 4.5 • IIS 7.x or 8 o IIS Express is also supported • WebSockets are supported only by IIS 8 (including IIS8 Express)
  • 6. Browser support • Internet Explorer o WebSockets (10+) o ForeverFrame (8+) o Long polling (8+) • Firefox, Chrome, Safari o WebSockets o Server-Sent Events o Long polling
  • 7. How does it work?
  • 8. Hubs API • High level API that allows to make remote procedure calls from a server to connected clients. • Easy to use
  • 10. Configuration explained • To start using HubsApi (Web Client): o Define a root that client will used to connect to our Hub class. Use Route.Table.MapHubs() in your Application_Start method o Default route is “/signalr” o Route can be customized by assigning a new value to route URL: • Server side configuration: o RouteTable.Routes.MapHubs("/signalr", new HubConfiguration()) • JavaScript configuration: o .connection.hub.url = "/signalr” • Create a Hub class – a class that will allow us to call client methods. o Hub class must inherit form Microsoft.Aspnet.Signalr.Hub
  • 11. Transport selection 1. WebSocket o If IE 8 or earlier then skip step 2 & 3 o If Cross-domain request, check if client & server supports WebSocket else use 4. 2. ServerSent Event 3. Forever Frame 4. Long Polling 5. SignalR supports custom transport selection o Developers can specify the transport selection order connection.start({ transport: ['webSockets','longPolling'] });
  • 12. Things to remember • There is no compile time validation • Cross-Domain connection is not configured by default • do not use jQuery.support.cors=true
  • 13. Q & A • @DorinManoli

Editor's Notes

  1. Ex: check order stats of an eCommerce appOn page customer supportGet latest tweets from your account?
  2. Windows 8 or Windows Server 2012
  3. Explain transport layers
  4. Browse the code , dependencies, how solution is configured
  5. Explain demo code
  6. Explain transport negotiation processEx. Defined transport selection fallback -> connection.start({ transport: ['webSockets','longPolling'] }); Try use fiddler