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

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
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
 
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
 

Recently uploaded (20)

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)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[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
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
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
 
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...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 

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