SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
3.
Agenda
• State of WCF in .NET Core 3.0 ?
• What is gRPC ?
• Why gRPC ?
• What it offers ?
• gRPC – C Core vs gRPC-dotnet
• Demos
4.
State of WCF in .NET Core 3.0
• What didn’t make it to .NET Core 3.0 ?
• WCF Server, Workflow, ASP.NET WebForms, Remoting, App Domains
• Core WCF – open source community project
• WCF Client components are part of .NET Core 3.0
SWAMINATHANVETRI.IN 4
5.
What is gRPC ?
• gRPC is a modern open source high
performance RPC framework that can run in
any environment
SWAMINATHANVETRI.IN 5
6.
Protocol Buffers
• Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data –
think XML, but smaller, faster, and simpler
Sample proto format
message Person
{ string name = 1;
int32 id = 2;
bool has_ponycopter = 3;
}
SWAMINATHANVETRI.IN 6
7.
Why Protocol Buffers ?
SWAMINATHANVETRI.IN 7
Simpler 3 to 10 times smaller 20 to 100 times faster Less ambiguous Generate data access
classes that are easier to
use programmatically
11.
WCF vs gRPC
WCF
• Service Contract, Operation Contract, and Data
Contract
• Contracts written in C# or Visual Basic
• Configurable, including SOAP/XML, Plain XML,
JSON, .NET Binary, and so on.
• Interop when using SOAP over HTTP
• Networking configured at runtime. Switch
between TCP, HTTP, MSMQ, and so on.
• Runtime generation of serialization
/deserialization and networking code in base
classes
• Authentication, WS-Security, message encryption
gRPC
• Uses proto file to declare services and messages
• Protocol Buffer language
• Protocol Buffer binary format (although it’s
possible to use other formats).
• Official support: .NET, Java, Python, JavaScript,
C/C++, Go, Rust, Ruby, Swift, Dart, PHP. Unofficial
support for other languages from the community.
• Always HTTP/2
• Build-time generation of serialization
/deserialization and networking code in base
classes
• Credentials, ASP.NET Core security, TLS networking
SWAMINATHANVETRI.IN 11
Source : http://aka.ms/grpcforwcfebook