PipeMethodCalls 1.0.0
See the version list below for details.
dotnet add package PipeMethodCalls --version 1.0.0
NuGet\Install-Package PipeMethodCalls -Version 1.0.0
<PackageReference Include="PipeMethodCalls" Version="1.0.0" />
<PackageVersion Include="PipeMethodCalls" Version="1.0.0" />
<PackageReference Include="PipeMethodCalls" />
paket add PipeMethodCalls --version 1.0.0
#r "nuget: PipeMethodCalls, 1.0.0"
#:package PipeMethodCalls@1.0.0
#addin nuget:?package=PipeMethodCalls&version=1.0.0
#tool nuget:?package=PipeMethodCalls&version=1.0.0
PipeMethodCalls
Lightweight library for method calls over named and anonymous pipes for IPC in .NET Core. Supports two-way communication with callbacks.
Calls from client to server
var pipeServer = new PipeServer<IAdder>("mypipe", () => new Adder());
await pipeServer.WaitForConnectionAsync();
var pipeClient = new PipeClient<IAdder>("mypipe");
await pipeClient.ConnectAsync();
int result = await pipeClient.InvokeAsync(a => a.AddNumbers(1, 3));
Calls both way
var pipeServer = new PipeServerWithCallback<IConcatenator, IAdder>("testpipe", () => new Adder());
await pipeServer.WaitForConnectionAsync();
string concatResult = await pipeServer.InvokeAsync(c => c.Concatenate("a", "b"));
var pipeClient = new PipeClientWithCallback<IAdder, IConcatenator>("mypipe", () => new Concatenator());
await pipeClient.ConnectAsync();
int result = await pipeClient.InvokeAsync(a => a.AddNumbers(4, 7));
About the library
This library uses named pipes to invoke method calls on a remote endpoint. The method arguments are packaged up in JSON, encoded and sent over the pipe.
Features
- 100% asynchronous communication with .ConfigureAwait(false) to minimize context switches and reduce thread use
- 39KB with Newtonsoft JSON as only dependency
- Invoking async methods
- Passing and returning complex types via JSON serialization
- Throwing exceptions
- CancellationToken support
Not supported
- out and ref parameters
- Properties
| 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 (>= 12.0.1)
NuGet packages (11)
Showing the top 5 NuGet packages that depend on PipeMethodCalls:
| Package | Downloads |
|---|---|
|
RProvider
An F# Type Provider providing strongly typed access to the R statistical package. The type provider automatically discovers available R packages and makes them easily accessible from F#, so you can easily call powerful packages and visualization libraries from code running on the .NET platform. |
|
|
PipeMethodCalls.NetJson
System.Text.Json serializer for PipeMethodCalls. |
|
|
PipeMethodCalls.MessagePack
MessagePack serializer for PipeMethodCalls. Uses the MessagePack-CSharp library. |
|
|
LijsDev.CrystalReportsRunner.Core
API needed to use Crystal Reports Runner from caller applications. |
|
|
Binom.AutoML.Contracts
Package Description |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on PipeMethodCalls:
| Repository | Stars |
|---|---|
|
RandomEngy/VidCoder
A Blu-ray, DVD and video file transcoder for Windows.
|
|
|
Sidekick-Poe/Sidekick
The main repository for the Sidekick project, a companion trade tool for Path of Exile and Path of Exile 2.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.3 | 16,906 | 9/8/2025 |
| 4.0.2 | 76,288 | 5/19/2024 |
| 4.0.1 | 165,120 | 4/14/2023 |
| 4.0.0 | 452 | 4/6/2023 |
| 3.2.1 | 19,436 | 3/13/2023 |
| 3.2.0 | 76,978 | 6/25/2022 |
| 3.1.1 | 31,654 | 4/2/2022 |
| 3.1.0 | 93,863 | 12/24/2021 |
| 3.0.4 | 18,222 | 9/27/2021 |
| 3.0.3 | 3,166 | 8/3/2021 |
| 3.0.2 | 3,053 | 4/4/2021 |
| 3.0.1 | 497 | 4/4/2021 |
| 3.0.0 | 34,055 | 4/4/2021 |
| 2.1.0 | 739 | 2/12/2021 |
| 2.0.2 | 1,427 | 11/17/2020 |
| 2.0.1 | 569 | 10/24/2020 |
| 2.0.0 | 844 | 8/8/2020 |
| 1.0.1 | 6,173 | 4/21/2019 |
| 1.0.0 | 1,074 | 3/20/2019 |