Skip to content
/ coreipc Public

WCF-like service model API for communication over named pipes, TCP and web sockets. .NET and node.js clients.

License

Notifications You must be signed in to change notification settings

UiPath/coreipc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status MyGet (dev)

CoreIpc

WCF-like service model API for communication over named pipes, TCP and web sockets. .NET and Node.js and Web clients.

  • async
  • json serialization
  • DI integration
  • cancellation
  • timeouts
  • callbacks
  • one way calls (all methods that return non-generic Task)
  • automatic reconnect
  • interception
  • configurable task scheduler
  • client authentication and impersonation
  • access to the underlying transport with Stream parameters
  • SSL

Check the tests and the sample.

// configure and start the server
_ = new ServiceHostBuilder(serviceProvider)
    .UseNamedPipes(new NamedPipeSettings("computing")) 
    .AddEndpoint<IComputingService>()
    .Build()
    .RunAsync();
// configure the client
var computingClient = 
    new NamedPipeClientBuilder<IComputingService>("computing")
    .Build();
// call a remote method
var result = await computingClient.AddFloat(1, 4, cancellationToken);

UiPath.Rpc

Build Status MyGet (dev)

https://github.com/UiPath/coreipc/tree/master/UiPath.Rpc A more efficient version based on MessagePack.

Debug using Source Link

Preview builds setup.