ServiceModel.Grpc.ProtoBufMarshaller
1.21.0
dotnet add package ServiceModel.Grpc.ProtoBufMarshaller --version 1.21.0
NuGet\Install-Package ServiceModel.Grpc.ProtoBufMarshaller -Version 1.21.0
<PackageReference Include="ServiceModel.Grpc.ProtoBufMarshaller" Version="1.21.0" />
<PackageVersion Include="ServiceModel.Grpc.ProtoBufMarshaller" Version="1.21.0" />
<PackageReference Include="ServiceModel.Grpc.ProtoBufMarshaller" />
paket add ServiceModel.Grpc.ProtoBufMarshaller --version 1.21.0
#r "nuget: ServiceModel.Grpc.ProtoBufMarshaller, 1.21.0"
#:package ServiceModel.Grpc.ProtoBufMarshaller@1.21.0
#addin nuget:?package=ServiceModel.Grpc.ProtoBufMarshaller&version=1.21.0
#tool nuget:?package=ServiceModel.Grpc.ProtoBufMarshaller&version=1.21.0
ServiceModel.Grpc.ProtoBufMarshaller
ServiceModel.Grpc enables applications to communicate with gRPC services using a code-first approach (no .proto files), helps to get around limitations of gRPC protocol like "only reference types", "exact one input", "no nulls", "no value-types". Provides exception handling. Helps to migrate existing WCF solution to gRPC with minimum effort.
ServiceModel.Grpc.ProtoBufMarshaller is package with IMarshallerFactory implementation, based on protobuf-net serializer.
Configure ClientFactory
Instruct ClientFactory to use ProtobufMarshallerFactory as default marshaller for all clients.
IClientFactory defaultClientFactory
= new ClientFactory(new ServiceModelGrpcClientOptions
{
// set ProtobufMarshaller as default Marshaller
MarshallerFactory = ProtobufMarshallerFactory.Default
});
Instruct ClientFactory to use ProtobufMarshallerFactory for concrete client.
// client factory with default (DataContractMarshallerFactory) marshaller
IClientFactory defaultClientFactory = new ClientFactory();
// set ProtobufMarshaller only for ICalculator client
defaultClientFactory.AddClient<ICalculator>(options =>
{
options.MarshallerFactory = ProtobufMarshallerFactory.Default;
});
Configure ServiceModel.Grpc.AspNetCore
Instruct ServiceModel.Grpc code-first to use ProtobufMarshallerFactory as default marshaller for all endpoints.
var builder = WebApplication.CreateBuilder();
// enable ServiceModel.Grpc code-first
builder.Services.AddServiceModelGrpc(options =>
{
// set ProtobufMarshaller as default Marshaller
options.DefaultMarshallerFactory = ProtobufMarshallerFactory.Default;
});
Instruct ServiceModel.Grpc code-first to use ProtobufMarshallerFactory for concrete endpoint.
var builder = WebApplication.CreateBuilder();
// enable ServiceModel.Grpc code-first with default (DataContractMarshallerFactory) marshaller
builder.Services.AddServiceModelGrpc();
// set ProtobufMarshaller only for Calculator endpoint
builder.Services.AddServiceModelGrpcServiceOptions<Calculator>(options =>
{
options.MarshallerFactory = ProtobufMarshallerFactory.Default;
});
Configure ServiceModel.Grpc.SelfHost
Instruct ServiceModel.Grpc code-first to use ProtobufMarshallerFactory.
var server = new Grpc.Core.Server();
// set ProtobufMarshaller for Calculator endpoint
server.Services.AddServiceModelTransient(
()=> new Calculator(),
options =>
{
options.MarshallerFactory = ProtobufMarshallerFactory.Default;
});
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- protobuf-net (>= 3.2.56)
- ServiceModel.Grpc (>= 1.21.0)
-
.NETStandard 2.0
- protobuf-net (>= 3.2.56)
- ServiceModel.Grpc (>= 1.21.0)
-
.NETStandard 2.1
- protobuf-net (>= 3.2.56)
- ServiceModel.Grpc (>= 1.21.0)
-
net10.0
- protobuf-net (>= 3.2.56)
- ServiceModel.Grpc (>= 1.21.0)
-
net8.0
- protobuf-net (>= 3.2.56)
- ServiceModel.Grpc (>= 1.21.0)
-
net9.0
- protobuf-net (>= 3.2.56)
- ServiceModel.Grpc (>= 1.21.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ServiceModel.Grpc.ProtoBufMarshaller:
| Package | Downloads |
|---|---|
|
MF40.Silo
Orleans Silo |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.21.0 | 393 | 12/21/2025 |
| 1.20.0 | 438 | 11/23/2025 |
| 1.19.0 | 2,151 | 11/9/2025 |
| 1.18.0 | 2,467 | 10/2/2025 |
| 1.17.0 | 2,930 | 8/31/2025 |
| 1.16.0 | 3,186 | 6/29/2025 |
| 1.15.0 | 1,236 | 6/15/2025 |
| 1.14.0 | 3,998 | 4/18/2025 |
| 1.13.0 | 5,330 | 2/2/2025 |
| 1.12.0 | 4,237 | 1/12/2025 |
| 1.11.1 | 1,382 | 11/30/2024 |
| 1.11.0 | 3,521 | 11/23/2024 |
| 1.10.1 | 3,650 | 10/19/2024 |
| 1.9.1 | 2,232 | 9/29/2024 |
| 1.9.0 | 5,113 | 7/21/2024 |
| 1.8.3 | 4,015 | 5/18/2024 |
| 1.8.2 | 1,952 | 3/2/2024 |
| 1.8.1 | 3,702 | 2/13/2024 |
| 1.8.0 | 2,365 | 1/7/2024 |
| 1.7.0 | 313 | 12/24/2023 |