DynamicServices 0.4.0

DynamicServices

Install-Package DynamicServices -Version 0.4.0
dotnet add package DynamicServices --version 0.4.0
<PackageReference Include="DynamicServices" Version="0.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DynamicServices --version 0.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: DynamicServices, 0.4.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install DynamicServices as a Cake Addin
#addin nuget:?package=DynamicServices&version=0.4.0

// Install DynamicServices as a Cake Tool
#tool nuget:?package=DynamicServices&version=0.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

DynamicServices

NetMQ NuGet version

Installation

You can download DynamicServices via NuGet.

Client - Host
var address = @"localhost";
var port = 5000;
using (var host = new ServiceHost(address, port)) {
    host.RegisterService<EchoService>();
    host.Start();
    using (var client = new ServiceClient(address, port)) {
        var service = client.GetServiceProxy<IEchoService>();
        client.Start();

        Console.WriteLine(service.Echo("Hello World!"));

        client.Shutdown();
    }
    host.Shutdown();
}

// Service Definition
public interface IEchoService {

    string Echo(string text);

}

// Service Implementation
public class EchoService : IEchoService {

    public string Echo(string text) => text;

}
Publish - Subscribe
var address = @"localhost";
var port = 5000;
using (var host = new PublisherService(address, port)) {
    var proxy = host.GetServiceProxy<ILogService>();
    host.Start();
    using (var client = new SubscriptionServiceHost(address, port)) {
        client.RegisterService(service);
        client.Start();

        service.Log("Hello World!");

        client.Shutdown();
    }
    host.Shutdown();
}

// Service Definition
public interface ILogService {

    void Log(string text);

}

// Service Implementation
public class LogService : ILogService {

    public void Log(string text) => Console.WriteLine(text);

}

DynamicServices

NetMQ NuGet version

Installation

You can download DynamicServices via NuGet.

Client - Host
var address = @"localhost";
var port = 5000;
using (var host = new ServiceHost(address, port)) {
    host.RegisterService<EchoService>();
    host.Start();
    using (var client = new ServiceClient(address, port)) {
        var service = client.GetServiceProxy<IEchoService>();
        client.Start();

        Console.WriteLine(service.Echo("Hello World!"));

        client.Shutdown();
    }
    host.Shutdown();
}

// Service Definition
public interface IEchoService {

    string Echo(string text);

}

// Service Implementation
public class EchoService : IEchoService {

    public string Echo(string text) => text;

}
Publish - Subscribe
var address = @"localhost";
var port = 5000;
using (var host = new PublisherService(address, port)) {
    var proxy = host.GetServiceProxy<ILogService>();
    host.Start();
    using (var client = new SubscriptionServiceHost(address, port)) {
        client.RegisterService(service);
        client.Start();

        service.Log("Hello World!");

        client.Shutdown();
    }
    host.Shutdown();
}

// Service Definition
public interface ILogService {

    void Log(string text);

}

// Service Implementation
public class LogService : ILogService {

    public void Log(string text) => Console.WriteLine(text);

}

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.4.0 534 1/30/2019
0.2.1 518 1/21/2019
0.2.0 539 1/20/2019
0.1.0 558 1/19/2019