H.ProxyFactory.Pipes
0.8.2
See the version list below for details.
dotnet add package H.ProxyFactory.Pipes --version 0.8.2
NuGet\Install-Package H.ProxyFactory.Pipes -Version 0.8.2
<PackageReference Include="H.ProxyFactory.Pipes" Version="0.8.2" />
paket add H.ProxyFactory.Pipes --version 0.8.2
#r "nuget: H.ProxyFactory.Pipes, 0.8.2"
// Install H.ProxyFactory.Pipes as a Cake Addin
#addin nuget:?package=H.ProxyFactory.Pipes&version=0.8.2
// Install H.ProxyFactory.Pipes as a Cake Tool
#tool nuget:?package=H.ProxyFactory.Pipes&version=0.8.2
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 ISimpleEventClass
{
event EventHandler<int> Event1;
string Method2(string input);
}
public class SimpleEventClass : ISimpleEventClass
{
public event EventHandler<int>? Event1;
public void RaiseEvent1()
{
Event1?.Invoke(this, 777);
}
public string Method2(string input)
{
return $"Hello, input = {input}";
}
}
Server:
await using var server = new PipeProxyServer();
await server.InitializeAsync("UniquePipeServerName");
Client:
await using var factory = new PipeProxyFactory();
await factory.InitializeAsync("UniquePipeServerName");
// If the server does not use the library where the shared code is located, it must be loaded.
await factory.LoadAssemblyAsync(typeof(SimpleEventClass).Assembly.Location);
// You will have access to an interface through which you will interact with the object created on the server.
var instance = await factory.CreateInstanceAsync<ISimpleEventClass>(
typeof(SimpleEventClass).FullName ?? string.Empty);
instance.Event1 += (_, args) =>
{
WriteLine($"{nameof(instance.Event1)}: {args}");
};
instance.RaiseEvent1();
var result = Instance.Method2("argument");
Contacts
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETFramework 4.6.1
- H.Pipes (>= 1.14.6)
- H.ProxyFactory (>= 0.8.2)
-
.NETStandard 2.0
- H.Pipes (>= 1.14.6)
- H.ProxyFactory (>= 0.8.2)
-
.NETStandard 2.1
- H.Pipes (>= 1.14.6)
- H.ProxyFactory (>= 0.8.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on H.ProxyFactory.Pipes:
Package | Downloads |
---|---|
H.Containers.Process.Core
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
⭐ Last 10 features:
- 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
- feat: Added empty wpf app. 2021-10-29
- feat: To file-scope namespaces. 2021-10-29
- feat: To net6.0 and C# 10. 2021-10-29
🐞 Last 10 bug fixes:
- 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