All Projects → DaniilSokolyuk → Simplerpc

DaniilSokolyuk / Simplerpc

A simple and fast contractless RPC library for .NET and .NET Core

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Simplerpc

Websocket Rpc
WebSocket RPC library for .NET with auto JavaScript client code generation, supporting ASP.NET Core
Stars: ✭ 132 (+238.46%)
Mutual labels:  rpc, asp-net-core
Goridge
High-performance PHP-to-Golang IPC bridge
Stars: ✭ 950 (+2335.9%)
Mutual labels:  rpc
Csla
A home for your business logic in any .NET application.
Stars: ✭ 865 (+2117.95%)
Mutual labels:  asp-net-core
Cli Chat
Cli-chat. Try it out ~
Stars: ✭ 15 (-61.54%)
Mutual labels:  rpc
Awesome Microservices Netcore
💎 A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core
Stars: ✭ 865 (+2117.95%)
Mutual labels:  asp-net-core
Fake Authentication Jwtbearer
Simple way to faked an authenticated user for integration test with ASP.Net Core framework
Stars: ✭ 28 (-28.21%)
Mutual labels:  asp-net-core
Grpc
An Elixir implementation of gRPC
Stars: ✭ 858 (+2100%)
Mutual labels:  rpc
Ant Design Blazor
Enterprise-class UI components based on Ant Design and Blazor.
Stars: ✭ 39 (+0%)
Mutual labels:  asp-net-core
Jetweet
Jetweet is a mini twitter clone with basic functionalities, Made using ASP.NET CORE and Entity framework technologies
Stars: ✭ 29 (-25.64%)
Mutual labels:  asp-net-core
Deepstream.io
deepstream.io server
Stars: ✭ 6,947 (+17712.82%)
Mutual labels:  rpc
Takinrpc
RPC框架,基于netty,实现了远程调用、服务治理等功能
Stars: ✭ 13 (-66.67%)
Mutual labels:  rpc
Ultrix
Ultrix is a meme website for collecting memes and sharing them with friends on the website.
Stars: ✭ 13 (-66.67%)
Mutual labels:  asp-net-core
Fusio
Open source API management platform
Stars: ✭ 946 (+2325.64%)
Mutual labels:  rpc
Allready
This repo contains the code for allReady, an open-source solution focused on increasing awareness, efficiency and impact of preparedness campaigns as they are delivered by humanitarian and disaster response organizations in local communities.
Stars: ✭ 869 (+2128.21%)
Mutual labels:  asp-net-core
Hmcon
Homematic Interface and Configuration
Stars: ✭ 30 (-23.08%)
Mutual labels:  rpc
Dotnettyrpc
DotNettyRPC is based on DotNetty to build the RPC system, the message network transmission support the current mainstream codec
Stars: ✭ 11 (-71.79%)
Mutual labels:  rpc
Carter
Carter is framework that is a thin layer of extension methods and functionality over ASP.NET Core allowing code to be more explicit and most importantly more enjoyable.
Stars: ✭ 875 (+2143.59%)
Mutual labels:  asp-net-core
Restfulsense
A RESTFul operations client that serializes responses and throws meaningful exceptions for >= 400 status codes.
Stars: ✭ 28 (-28.21%)
Mutual labels:  asp-net-core
Spyne
A transport agnostic sync/async RPC library that focuses on exposing services with a well-defined API using popular protocols.
Stars: ✭ 992 (+2443.59%)
Mutual labels:  rpc
Asp.net User Role Membership Example
Asp.Net Core Mvc Full Implementation Example of User Role & Membership.
Stars: ✭ 33 (-15.38%)
Mutual labels:  asp-net-core

SimpleRpc

Build status License NuGet NuGet

A simple and fast contractless RPC library for .NET and .NET Core, over IServiceCollection (you can use any supported DI container)

Quick Start

For .NET 4.6+, NET Standard 2 (.NET Core) available in NuGet

Install-Package SimpleRpc

Client

var sc = new ServiceCollection();

sc.AddSimpleRpcClient("sample", new HttpClientTransportOptions
{
    Url = "http://127.0.0.1:5000/rpc"                
});

sc.AddSimpleRpcProxy<IFooService>("sample");
// or
sc.AddSimpleRpcProxy(typeof(IFooService), "sample");

var pr = sc.BuildServiceProvider();

var service = pr.GetService<IFooService>();

service.Plus(1,5);

Server

In your Startup class...

public void ConfigureServices(IServiceCollection services)
{
    services.AddSimpleRpcServer(new HttpServerTransportOptions {Path = "/rpc"});

    services.AddSingleton<IFooService, FooServiceImpl>();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseSimpleRpcServer();
}

Sample Projects

Samples contains examples for using of SimpleRpc

Serializers

Default serializer can be changed in Serializer property, for example

sc.AddSimpleRpcClient("sample", new HttpClientTransportOptions
{
    Url = "http://127.0.0.1:5000/rpc",
    Serializer = "wire"
});
Serializer Name (for client options)
MessagePack (lz4 compression) msgpack
Wire (lz4 compression) wire

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].