H.Ipc
0.22.0
dotnet add package H.Ipc --version 0.22.0
NuGet\Install-Package H.Ipc -Version 0.22.0
<PackageReference Include="H.Ipc" Version="0.22.0" />
paket add H.Ipc --version 0.22.0
#r "nuget: H.Ipc, 0.22.0"
// Install H.Ipc as a Cake Addin
#addin nuget:?package=H.Ipc&version=0.22.0
// Install H.Ipc as a Cake Tool
#tool nuget:?package=H.Ipc&version=0.22.0
H.Ipc
This generator allows you to generate boilerplate code for H.Pipes based on the interface you specify. Generation example: https://github.com/HavenDV/H.ProxyFactory/issues/7#issuecomment-1072287342
Nuget
Install-Package H.Ipc
Usage
// Common interface
public interface IActionService
{
void ShowTrayIcon();
void HideTrayIcon();
void SendText(string text);
}
// Server side implementation
[H.IpcGenerators.IpcServer]
public partial class ActionService : IActionService
{
public void ShowTrayIcon()
{
MessageBox.Show(nameof(ShowTrayIcon));
}
public void HideTrayIcon()
{
MessageBox.Show(nameof(HideTrayIcon));
}
public void SendText(string text)
{
MessageBox.Show(text);
}
}
// Client side implementation
[H.IpcGenerators.IpcClient]
public partial class ActionServiceClient : IActionService
{
}
// Server initialization
await using var server = new PipeServer<string>(ServerName);
var service = new ActionService();
service.Initialize(server);
await server.StartAsync();
// Client initialization
await using var client = new PipeClient<string>(ServerName);
var service = new ActionServiceClient();
service.Initialize(client);
await client.ConnectAsync();
// Client usage
client.ShowTrayIcon();
Notes
The generated code currently requires C# version 8 and above. You can enable this using the following code in your .csproj file:
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
Contacts
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. |
.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 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
- H.Formatters.System.Text.Json (>= 12.0.51)
- H.Pipes.AccessControl (>= 2.0.51)
-
.NETStandard 2.0
- H.Formatters.System.Text.Json (>= 12.0.51)
- H.Pipes.AccessControl (>= 2.0.51)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.22.0 | 227 | 6/28/2023 |
⭐ Last 10 features:
To single package.
To steps.
Lowered dotnet version requirements to run the generator.
To ConventionalCommitsGitInfo.
Moved extensions to H.Generators.Extensions.
To H.Generators.Extensions.
Added ExceptionOccurred event to generated code.
Replaced usings to `global::` prefixes.
Changed implementation to use IPipeConnection.
Added request.Type server check.
🐞 Last 10 fixes:
Fixed some issues.
Fixed H.Ipc.Core package version.
Fixed tests.
Fixed H.Ipc.Core version.
Removed unused code.
Fixed tests.
Fixed request code generation for separate client/server libs.
Fixed some formatting bugs.
Removed net5/net6 targets from H.Ipc.Core.
Fixed CI.