WinCopies.IPCService
4.3.0
dotnet add package WinCopies.IPCService --version 4.3.0
NuGet\Install-Package WinCopies.IPCService -Version 4.3.0
<PackageReference Include="WinCopies.IPCService" Version="4.3.0" />
paket add WinCopies.IPCService --version 4.3.0
#r "nuget: WinCopies.IPCService, 4.3.0"
// Install WinCopies.IPCService as a Cake Addin #addin nuget:?package=WinCopies.IPCService&version=4.3.0 // Install WinCopies.IPCService as a Cake Tool #tool nuget:?package=WinCopies.IPCService&version=4.3.0
IpcServiceFramework
A .NET Core 3.1 based lightweight framework for efficient inter-process communication. Named pipeline and TCP support out-of-the-box, extensible with other protocols.
Forked from https://github.com/jacqueskang/IpcServiceFramework
NuGet packages
Usage
Create an interface as service contract and package it in an assembly to be referenced by server and client applications, for example:
public interface IInterProcessService { string ReverseString(string input); }
Implement the service in server application, for example:
class InterProcessService : IInterProcessService { public string ReverseString(string input) { char[] charArray = input.ToCharArray(); Array.Reverse(charArray); return new string(charArray); } }
Install the following NuGet packages in server application:
> Install-Package Microsoft.Extensions.Hosting > Install-Package WinCopies.IPCService.Hosting.NamedPipe
Register the service implementation and configure IPC endpoint(s):
class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices(services => { services.AddScoped<IInterProcessService, InterProcessService>(); }) .ConfigureIpcHost(builder => { // configure IPC endpoints builder.AddNamedPipeEndpoint<IInterProcessService>(pipeName: "pipeinternal"); }) .ConfigureLogging(builder => { // optionally configure logging builder.SetMinimumLevel(LogLevel.Information); }); }
Install the following NuGet package in client application:
> Install-Package WinCopies.IPCService.Client.NamedPipe
Invoke the server
// register IPC clients ServiceProvider serviceProvider = new ServiceCollection() .AddNamedPipeIpcClient<IInterProcessService>("client1", pipeName: "pipeinternal") .BuildServiceProvider(); // resolve IPC client factory IClientFactory<IInterProcessService> clientFactory = serviceProvider .GetRequiredService<IClientFactory<IInterProcessService>>(); // create client IClient<IInterProcessService> client = clientFactory.CreateClient("client1"); string output = await client.InvokeAsync(x => x.ReverseString(input));
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net5.0-windows7.0 is compatible. 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. net6.0-windows7.0 is compatible. 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. net7.0-windows7.0 is compatible. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 is compatible. netcoreapp3.1 is compatible. |
.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 is compatible. 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. |
-
.NETCoreApp 3.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.3)
- Newtonsoft.Json (>= 12.0.3)
- WinCopies.Util (>= 3.18.1)
-
.NETCoreApp 3.1
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.3)
- Newtonsoft.Json (>= 12.0.3)
- WinCopies.Util (>= 3.18.1)
-
.NETFramework 4.7.2
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.3)
- Newtonsoft.Json (>= 12.0.3)
- WinCopies.Util (>= 3.18.1)
-
.NETStandard 2.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.3)
- Newtonsoft.Json (>= 12.0.3)
- WinCopies.Util (>= 3.18.1)
-
net5.0-windows7.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.3)
- Newtonsoft.Json (>= 12.0.3)
- WinCopies.Util (>= 3.18.1)
-
net6.0-windows7.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.3)
- Newtonsoft.Json (>= 12.0.3)
- WinCopies.Util (>= 3.18.1)
-
net7.0-windows7.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.3)
- Newtonsoft.Json (>= 12.0.3)
- WinCopies.Util (>= 3.18.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on WinCopies.IPCService:
Package | Downloads |
---|---|
WinCopies.IPCService.Hosting
Package Description |
|
WinCopies.IPCService.Client
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
See Changelog