SlideShare a Scribd company logo
1 of 23
This presentation:
http://sdrv.ms/1b94Zmb

What’s New in WCF 4.5
Ido Flatow, Senior Architect
Sela Group
About Me
• Senior architect, Sela Group
• Co-author of:
– Developing Windows Azure and Web
Services – Microsoft official course
– WCF 4 – Microsoft official course
– Pro .NET Performance – Apress

• Microsoft MVP
• Focus on server, services, and cloud
technologies
• Manager of the Israeli Web
Developers User Group
What is WCF?
• WCF is a unified .NET framework for building
service-oriented applications
• WCF was introduced in .NET Framework 3.0 and
extended in .NET 3.5, .NET 4, and .NET 4.5
• WCF is the foundation for other Microsoft
distributed technologies

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
Do You Like WCF?

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
Common WCF Configuration Issues
•
•
•
•

Using wrong service / contract names
Need to remember binding names
Copy & pasting configuration names
Configuration duplication for WCF and IIS
Image: chanpipat / FreeDigitalPhotos.net

• Some configuration issues were addressed in
WCF 4
• Visual Studio 2012 & WCF 4.5 continue the
simplification process
Join the conversation on Twitter: @SoftArchConf #SoftArchConf
Visual Studio 2012
Editor Simplification
• IntelliSense
– Service name
– Contract name
– Binding type

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
Visual Studio 2012
Editor Simplification
• IntelliSense
–
–
–
–
–

Service name
Contract name
Binding type
Binding configuration
Behavior configuration

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
Visual Studio 2012
Editor Simplification
• IntelliSense
–
–
–
–
–

Service name
Contract name
Binding type
Binding configuration
Behavior
configuration

• Tooltips
• Compile-time
validations
Join the conversation on Twitter: @SoftArchConf #SoftArchConf
Cleaner Endpoint Configuration for IIS
• Multiple IIS authentication types in one binding
– Bindings can inherit authentication types from IIS
– Instead of multiple endpoints, declare just one!
– Set the binding’s clientCredentialType to InheritedFromHost

• New default endpoint for HTTPS
– No need to declare endpoints if using both HTTP and HTTPS
– Default HTTPS endpoints don’t require client credentials
– Customize default endpoints in the ProtocolMapping section

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
What Other Mess Got Cleaned Up?

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
Excessive Client Configuration
Simplified Generated Configuration

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
DEMO

SIMPLIFYING WCF
Duplex Communication with HTTP
• HTTP is a request-response protocol
• Updates are through server polling
– Periodic polling (Anything new?)
– Long polling (I’m waiting for you!)

• Many disadvantages
– Periodic polling inflicts high-latency on updates
– Long polling is hard to implement
– Can cause bandwidth overhead if used
improperly
Join the conversation on Twitter: @SoftArchConf #SoftArchConf
WebSockets in a Glance
•
•
•
•
•
•
•

Bi-directional TCP channel (full-duplex)
Supports both HTTP and HTTPS (SSL)
Accessible through JavaScript API
Supports cross-domain calls
Client-side - IE10, Chrome, Firefox, WCF 4.5
Server-side – IIS 8, ASP.NET 4.5, WCF 4.5
Standardization is still in progress!!

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
WebSockets and WCF 4.5
• WCF 4.5 supports WebSockets in two modes:
– SOAP over WebSockets (.NET)
– Plain text over WebSockets (browsers)

• For SOAP use NetHttpBinding
• For browsers, use the Microsoft.WebSockets
NuGet package
– Create a service class by inheriting from
WebSocketService
– Implement control methods – OnOpen, OnStop,
OnMessage, OnError
– Send messages to client by calling the Send method
Join the conversation on Twitter: @SoftArchConf #SoftArchConf
DEMO

DUPLEX WCF WITH WEBSOCKETS
WCF and UDP – Q&A
• WCF 3.5
– “Does WCF support UDP bindings?”
– “Not out-of-the-box, but there is an MS sample for that”

• WCF 4
–
–
–
–

“Does WCF support UDP?”
“Not out-of-the-box, but there is an MS sample for that”
“But Discovery uses UDP, right?”
“Indeed, but the UDP transport channel is internally used”

• WCF 4.5
– “Does WCF support UDP?”
– “YES!!”
Join the conversation on Twitter: @SoftArchConf #SoftArchConf
UDP Transport
•
•
•
•

New UDP binding out-of-the-box
Supports one-way and request-response
Unicast – you do not get an exception if host is down!!
Multicast messaging is supported through IPs such as
224.0.0.1 – 239.255.255.255
• Supported features are basic
–
–
–
–

Only text encoding
No sessions
No security
No duplex

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
DEMO

COMPARING HTTP, TCP, AND UDP
Improved Channels and Encoding
• Web hosting (IIS)
– Fixed streamed messages from being buffered in ASP.NET
– Added async streamed reply for slow reading clients

• Self hosting
– Support for binary encoding compression (Gzip / Deflate)
– Works with TCP and custom HTTP transports

• Both hosting environment
– New transport defaults for TCP and named pipe transports
– Defaults are now multiplied by #cores to enable
high-density scenarios
Join the conversation on Twitter: @SoftArchConf #SoftArchConf
DEMO

TRANSPORT IMPROVEMENTS
To Conclude
• Yet another effort to simplify the creation of
WCF services and clients
• Continuing to support new and existing
standards
• Striving to improve the overall performance of
WCF

Join the conversation on Twitter: @SoftArchConf #SoftArchConf
WCF Resources
WCF Home and Forum
msdn.microsoft.com/en-us/library/dd456779.aspx
social.msdn.microsoft.com/forums/en/wcf
WCF Blogs
blogs.msdn.com/b/piyushjo
blogs.msdn.com/b/carlosfigueira
WCF vNext UserVoice
tinyurl.com/wcfvnext
My Info
blogs.microsoft.co.il/blogs/idof
idof@sela.co.il
@idoFlatow
This presentation: sdrv.ms/1b94Zmb

More Related Content

What's hot

What's hot (20)

Adobe is from Mars, Microsoft is from Uranus. A look at two competing web st...
Adobe is from Mars, Microsoft is from Uranus.  A look at two competing web st...Adobe is from Mars, Microsoft is from Uranus.  A look at two competing web st...
Adobe is from Mars, Microsoft is from Uranus. A look at two competing web st...
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
Require js training
Require js trainingRequire js training
Require js training
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Microsoft ASP.NET 5 - The new kid on the block
Microsoft ASP.NET 5 - The new kid on the block Microsoft ASP.NET 5 - The new kid on the block
Microsoft ASP.NET 5 - The new kid on the block
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce Helix
 
Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.
 
Find your data - use GraphDB capabilities in XPages applications - and beyond
Find your data - use GraphDB capabilities in XPages applications - and beyond	Find your data - use GraphDB capabilities in XPages applications - and beyond
Find your data - use GraphDB capabilities in XPages applications - and beyond
 
ASP.NET Core 3.0 Deep Dive
ASP.NET Core 3.0 Deep DiveASP.NET Core 3.0 Deep Dive
ASP.NET Core 3.0 Deep Dive
 
2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET Developers
 
Build PWA with Ionic Toolkit
Build PWA with Ionic ToolkitBuild PWA with Ionic Toolkit
Build PWA with Ionic Toolkit
 
.Net Core
.Net Core.Net Core
.Net Core
 
CNIT 127: L9: Web Templates and .NET
CNIT 127: L9: Web Templates and .NETCNIT 127: L9: Web Templates and .NET
CNIT 127: L9: Web Templates and .NET
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Meteor Angular
Meteor AngularMeteor Angular
Meteor Angular
 
Dr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin development
 
Java troubleshooting thread dump
Java troubleshooting thread dumpJava troubleshooting thread dump
Java troubleshooting thread dump
 
What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0
 
Grokking TechTalk #24: Kafka's principles and protocols
Grokking TechTalk #24: Kafka's principles and protocolsGrokking TechTalk #24: Kafka's principles and protocols
Grokking TechTalk #24: Kafka's principles and protocols
 

Viewers also liked

Viewers also liked (20)

Powershell For Developers
Powershell For DevelopersPowershell For Developers
Powershell For Developers
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with Azure
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with Fiddler
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Production debugging web applications
Production debugging web applicationsProduction debugging web applications
Production debugging web applications
 
IIS for Developers
IIS for DevelopersIIS for Developers
IIS for Developers
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2
 
IaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute Solutions
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF Workshop
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Debugging with Fiddler
Debugging with FiddlerDebugging with Fiddler
Debugging with Fiddler
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
What HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouWhat HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For You
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
 
Building IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureBuilding IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on Azure
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP Fundamentals
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
HTTP/2 Changes Everything
HTTP/2 Changes EverythingHTTP/2 Changes Everything
HTTP/2 Changes Everything
 
High Performance Web - Full Stack Toronto
High Performance Web - Full Stack TorontoHigh Performance Web - Full Stack Toronto
High Performance Web - Full Stack Toronto
 

Similar to What's New in WCF 4.5

Balázs Bucsay - XFLTReaT: Building a Tunnel
Balázs Bucsay - XFLTReaT: Building a TunnelBalázs Bucsay - XFLTReaT: Building a Tunnel
Balázs Bucsay - XFLTReaT: Building a Tunnel
hacktivity
 
Velocity - NxtGen Oxford
Velocity - NxtGen OxfordVelocity - NxtGen Oxford
Velocity - NxtGen Oxford
Phil Pursglove
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
Phil Pursglove
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010
Phil Pursglove
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen Cambridge
Phil Pursglove
 

Similar to What's New in WCF 4.5 (20)

WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022
 
Balázs Bucsay - XFLTReaT: Building a Tunnel
Balázs Bucsay - XFLTReaT: Building a TunnelBalázs Bucsay - XFLTReaT: Building a Tunnel
Balázs Bucsay - XFLTReaT: Building a Tunnel
 
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityWebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021
 
Velocity - NxtGen Oxford
Velocity - NxtGen OxfordVelocity - NxtGen Oxford
Velocity - NxtGen Oxford
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
 
WebSockets wiith Scala and Play! Framework
WebSockets wiith Scala and Play! FrameworkWebSockets wiith Scala and Play! Framework
WebSockets wiith Scala and Play! Framework
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
 
Bridging_WebRTC_with_SIP_Alberto_WebRTCventures_Cluecon2023_NoVideo.pptx
Bridging_WebRTC_with_SIP_Alberto_WebRTCventures_Cluecon2023_NoVideo.pptxBridging_WebRTC_with_SIP_Alberto_WebRTCventures_Cluecon2023_NoVideo.pptx
Bridging_WebRTC_with_SIP_Alberto_WebRTCventures_Cluecon2023_NoVideo.pptx
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010
 
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
 
How to Architect your WebRTC application, Alberto Gonzalez and Arin Sime, Web...
How to Architect your WebRTC application, Alberto Gonzalez and Arin Sime, Web...How to Architect your WebRTC application, Alberto Gonzalez and Arin Sime, Web...
How to Architect your WebRTC application, Alberto Gonzalez and Arin Sime, Web...
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platform
 
Java Restart with WebFX
Java Restart with WebFX Java Restart with WebFX
Java Restart with WebFX
 
Velocity - Edge UG
Velocity - Edge UGVelocity - Edge UG
Velocity - Edge UG
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
 
WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen Cambridge
 
WebRTC beyond Audio and Video
WebRTC beyond Audio and Video  WebRTC beyond Audio and Video
WebRTC beyond Audio and Video
 
Web sockets - Pentesting
Web sockets - Pentesting Web sockets - Pentesting
Web sockets - Pentesting
 

More from Ido Flatow (6)

Google Cloud IoT Core
Google Cloud IoT CoreGoogle Cloud IoT Core
Google Cloud IoT Core
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Production Debugging War Stories
Production Debugging War StoriesProduction Debugging War Stories
Production Debugging War Stories
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
 
Caching in Windows Azure
Caching in Windows AzureCaching in Windows Azure
Caching in Windows Azure
 
Automating Windows Azure
Automating Windows AzureAutomating Windows Azure
Automating Windows Azure
 

Recently uploaded

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
 
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
 

Recently uploaded (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
[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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
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
 
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
 
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...
 
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...
 

What's New in WCF 4.5

  • 1. This presentation: http://sdrv.ms/1b94Zmb What’s New in WCF 4.5 Ido Flatow, Senior Architect Sela Group
  • 2. About Me • Senior architect, Sela Group • Co-author of: – Developing Windows Azure and Web Services – Microsoft official course – WCF 4 – Microsoft official course – Pro .NET Performance – Apress • Microsoft MVP • Focus on server, services, and cloud technologies • Manager of the Israeli Web Developers User Group
  • 3. What is WCF? • WCF is a unified .NET framework for building service-oriented applications • WCF was introduced in .NET Framework 3.0 and extended in .NET 3.5, .NET 4, and .NET 4.5 • WCF is the foundation for other Microsoft distributed technologies Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 4. Do You Like WCF? Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 5. Common WCF Configuration Issues • • • • Using wrong service / contract names Need to remember binding names Copy & pasting configuration names Configuration duplication for WCF and IIS Image: chanpipat / FreeDigitalPhotos.net • Some configuration issues were addressed in WCF 4 • Visual Studio 2012 & WCF 4.5 continue the simplification process Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 6. Visual Studio 2012 Editor Simplification • IntelliSense – Service name – Contract name – Binding type Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 7. Visual Studio 2012 Editor Simplification • IntelliSense – – – – – Service name Contract name Binding type Binding configuration Behavior configuration Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 8. Visual Studio 2012 Editor Simplification • IntelliSense – – – – – Service name Contract name Binding type Binding configuration Behavior configuration • Tooltips • Compile-time validations Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 9. Cleaner Endpoint Configuration for IIS • Multiple IIS authentication types in one binding – Bindings can inherit authentication types from IIS – Instead of multiple endpoints, declare just one! – Set the binding’s clientCredentialType to InheritedFromHost • New default endpoint for HTTPS – No need to declare endpoints if using both HTTP and HTTPS – Default HTTPS endpoints don’t require client credentials – Customize default endpoints in the ProtocolMapping section Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 10. What Other Mess Got Cleaned Up? Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 11. Excessive Client Configuration Simplified Generated Configuration Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 13. Duplex Communication with HTTP • HTTP is a request-response protocol • Updates are through server polling – Periodic polling (Anything new?) – Long polling (I’m waiting for you!) • Many disadvantages – Periodic polling inflicts high-latency on updates – Long polling is hard to implement – Can cause bandwidth overhead if used improperly Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 14. WebSockets in a Glance • • • • • • • Bi-directional TCP channel (full-duplex) Supports both HTTP and HTTPS (SSL) Accessible through JavaScript API Supports cross-domain calls Client-side - IE10, Chrome, Firefox, WCF 4.5 Server-side – IIS 8, ASP.NET 4.5, WCF 4.5 Standardization is still in progress!! Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 15. WebSockets and WCF 4.5 • WCF 4.5 supports WebSockets in two modes: – SOAP over WebSockets (.NET) – Plain text over WebSockets (browsers) • For SOAP use NetHttpBinding • For browsers, use the Microsoft.WebSockets NuGet package – Create a service class by inheriting from WebSocketService – Implement control methods – OnOpen, OnStop, OnMessage, OnError – Send messages to client by calling the Send method Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 16. DEMO DUPLEX WCF WITH WEBSOCKETS
  • 17. WCF and UDP – Q&A • WCF 3.5 – “Does WCF support UDP bindings?” – “Not out-of-the-box, but there is an MS sample for that” • WCF 4 – – – – “Does WCF support UDP?” “Not out-of-the-box, but there is an MS sample for that” “But Discovery uses UDP, right?” “Indeed, but the UDP transport channel is internally used” • WCF 4.5 – “Does WCF support UDP?” – “YES!!” Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 18. UDP Transport • • • • New UDP binding out-of-the-box Supports one-way and request-response Unicast – you do not get an exception if host is down!! Multicast messaging is supported through IPs such as 224.0.0.1 – 239.255.255.255 • Supported features are basic – – – – Only text encoding No sessions No security No duplex Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 20. Improved Channels and Encoding • Web hosting (IIS) – Fixed streamed messages from being buffered in ASP.NET – Added async streamed reply for slow reading clients • Self hosting – Support for binary encoding compression (Gzip / Deflate) – Works with TCP and custom HTTP transports • Both hosting environment – New transport defaults for TCP and named pipe transports – Defaults are now multiplied by #cores to enable high-density scenarios Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 22. To Conclude • Yet another effort to simplify the creation of WCF services and clients • Continuing to support new and existing standards • Striving to improve the overall performance of WCF Join the conversation on Twitter: @SoftArchConf #SoftArchConf
  • 23. WCF Resources WCF Home and Forum msdn.microsoft.com/en-us/library/dd456779.aspx social.msdn.microsoft.com/forums/en/wcf WCF Blogs blogs.msdn.com/b/piyushjo blogs.msdn.com/b/carlosfigueira WCF vNext UserVoice tinyurl.com/wcfvnext My Info blogs.microsoft.co.il/blogs/idof idof@sela.co.il @idoFlatow This presentation: sdrv.ms/1b94Zmb