H.ProxyFactory
0.8.7
dotnet add package H.ProxyFactory --version 0.8.7
NuGet\Install-Package H.ProxyFactory -Version 0.8.7
<PackageReference Include="H.ProxyFactory" Version="0.8.7" />
paket add H.ProxyFactory --version 0.8.7
#r "nuget: H.ProxyFactory, 0.8.7"
// Install H.ProxyFactory as a Cake Addin #addin nuget:?package=H.ProxyFactory&version=0.8.7 // Install H.ProxyFactory as a Cake Tool #tool nuget:?package=H.ProxyFactory&version=0.8.7
H.ProxyFactory
Allows you to interact with remote objects. You will have access to an interface through which you will interact with the object created on the server.
Features:
- Create proxy objects that look exactly like the original objects
- Proxy target can be located anywhere where there is access to pipes
Nuget
Install-Package H.ProxyFactory.Pipes
Usage
Shared code:
public interface IActionService
{
void SendText(string text);
void ShowTrayIcon();
void HideTrayIcon();
event EventHandler<string> TextReceived;
}
public class ActionService { }
Implementation in the server project:
public class ActionService : IActionService
{
private TrayIconService trayIconService = new();
public void SendText(string text)
{
Console.WriteLine($"Text from client: {text}");
TextReceived?.Invoke(this, "Hi from server");
}
public void ShowTrayIcon()
{
trayIconService.ShowTrayIcon();
}
public void HideTrayIcon()
{
trayIconService.HideTrayIcon();
}
public event EventHandler<string>? TextReceived;
}
Server:
await using var server = new PipeProxyServer();
await server.InitializeAsync("UniquePipeServerName");
Client:
await using var factory = new PipeProxyFactory();
await factory.InitializeAsync("UniquePipeServerName");
// You will have access to an interface through which you will interact with the object created on the server.
var service = await factory.CreateInstanceAsync<ActionService, IActionService>();
instance.TextReceived += (_, text) =>
{
WriteLine($"{nameof(instance.TextReceived)}: {text}");
};
instance.ShowTrayIcon();
Instance.SendText("hello!");
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 is compatible. |
.NET Framework | net461 is compatible. 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. |
-
.NETFramework 4.6.1
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
-
.NETStandard 2.0
- System.Reflection.Emit (>= 4.7.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
-
.NETStandard 2.1
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on H.ProxyFactory:
Package | Downloads |
---|---|
H.ProxyFactory.Remote
Features: - Create remote proxy objects that look exactly like the original objects ⭐ Last 10 features: - feat: Updated NuGet packages. 2022-01-19 - feat: Added ContinuousIntegrationBuild. 2021-11-29 - feat: Added separate H.ProxyFactory.Remote library. 2021-11-29 - feat: Added separate H.Ipc.Core library. Refactored. 2021-11-29 - feat: Added RemoteProxyServer.ObjectCreated event. 2021-11-28 - feat: Implemented safe CreateObjectAsync. 2021-10-30 - feat: Added try catch to example app. 2021-10-30 - feat: Added CLSCompliant(true). 2021-10-30 - feat: to auto-releases. 2021-10-29 - feat: Implemented example WPF app. 2021-10-29 🐞 Last 10 bug fixes: - fix(test): Removed H.Recorders.NAudioRecorder package from tests. 2022-01-19 - fix: Renamed H.Ipc.Messages to H.ProxyFactory.Remote.Messages. 2021-11-30 - fix: Changed CI build to windows-latest. 2021-10-30 - fix: Added Factory.LoadAssemblyAsync to example app. 2021-10-30 - fix: Fixed H.ProxyFactory.Pipes warnings. 2021-10-30 - fix: Fixed H.ProxyFactory warnings. 2021-10-30 |
GitHub repositories
This package is not used by any popular GitHub repositories.
⭐ Last 10 features:
- feat: Updated NuGet packages. 2022-01-19
- feat: Added ContinuousIntegrationBuild. 2021-11-29
- feat: Added separate H.ProxyFactory.Remote library. 2021-11-29
- feat: Added separate H.Ipc.Core library. Refactored. 2021-11-29
- feat: Added RemoteProxyServer.ObjectCreated event. 2021-11-28
- feat: Implemented safe CreateObjectAsync. 2021-10-30
- feat: Added try catch to example app. 2021-10-30
- feat: Added CLSCompliant(true). 2021-10-30
- feat: to auto-releases. 2021-10-29
- feat: Implemented example WPF app. 2021-10-29
🐞 Last 10 bug fixes:
- fix(test): Removed H.Recorders.NAudioRecorder package from tests. 2022-01-19
- fix: Renamed H.Ipc.Messages to H.ProxyFactory.Remote.Messages. 2021-11-30
- fix: Changed CI build to windows-latest. 2021-10-30
- fix: Added Factory.LoadAssemblyAsync to example app. 2021-10-30
- fix: Fixed H.ProxyFactory.Pipes warnings. 2021-10-30
- fix: Fixed H.ProxyFactory warnings. 2021-10-30