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