Zerto.WebApi.Rpc.ClientBuilder
2.2.0.20
Prefix Reserved
dotnet add package Zerto.WebApi.Rpc.ClientBuilder --version 2.2.0.20
NuGet\Install-Package Zerto.WebApi.Rpc.ClientBuilder -Version 2.2.0.20
<PackageReference Include="Zerto.WebApi.Rpc.ClientBuilder" Version="2.2.0.20" />
<PackageVersion Include="Zerto.WebApi.Rpc.ClientBuilder" Version="2.2.0.20" />
<PackageReference Include="Zerto.WebApi.Rpc.ClientBuilder" />
paket add Zerto.WebApi.Rpc.ClientBuilder --version 2.2.0.20
#r "nuget: Zerto.WebApi.Rpc.ClientBuilder, 2.2.0.20"
#:package Zerto.WebApi.Rpc.ClientBuilder@2.2.0.20
#addin nuget:?package=Zerto.WebApi.Rpc.ClientBuilder&version=2.2.0.20
#tool nuget:?package=Zerto.WebApi.Rpc.ClientBuilder&version=2.2.0.20
Zerto.WebApi.ClientBuilder:
About:
The purpose of this project is to allow .NET developers to consume (HTTP based) services defined using an interface and published using Zerto.WebApi.ControllerBuilder. This project will generate, during runtime (using Reflection.Emit), a client that will implement the interface and will communicate with the remote service. This way, .NET developers can consume the remote service using the agreed upon interface, without any knowledge of HTTP or JSON.
Diagram:
┌──────────┐ ┌──────────────┐ Request ┌─────────────────────┐ Request ╔════════╗
│ │ ──> │ │ ───────────> │ │ ───────────> ║ ║
│ Client* │ │ WebApiBroker │ │ MessageInspector(s) │ ║ Server ║
│ │ <── │ │ <─────────── │ │ <─────────── ║ ║
└──────────┘ └──────────────┘ Response └─────────────────────┘ Response ╚════════╝
* Auto-generated
Main Components:
WebApiClientBuilder - This is the main component of this project, this class use reflection to generate a client for a given interface. WebApiBroker - This is the "workhorse" that the client use in order to send requests to the server, serialize parameters, etc. IClientMessageInspector - This is an interface that the user of this project can implement and assign to a given client in order to inspect or modify requests and responses.
Usage:
The developer should call WebApiClientBuilder.GetClient to get a client for the remote service, and then simply use the client methods to invoke the corresponding remote service methods.
Note regarding Streams:
If your consume an interface method that returns a Stream, please note that you must close the stream in order to free the underlying TCP connection.
If your consume an interface method that has a Stream input parameter, you should not close this Stream yourself, it will be closed when sending is complete.
| 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 was computed. 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 was computed. 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 was computed. 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 was computed. |
| .NET Framework | net461 was computed. net462 was computed. 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. |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 11.0.2)
- System.Reflection.Emit (>= 4.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.