茶杯泰迪,机智城堡,贺州学院图书馆
dotnettyrpc是一个基于dotnetty的跨平台rpc框架,支持.net45以及.net standard2.0
传统.net开发中遇到远程调用服务时,多以wcf为主。而wcf虽然功能强大,但是其配置复杂,不易于上手。而且未来必定是.net core的天下,wcf暂不支持.net core(只有客户端,无法建立服务端)。市面上的其他.net的 rpc框架诸如grpc、surging甚至微服务框架orleans等,这些框架功能强大,性能也很好,并且比较成熟,但是使用起来不够简单。基于上述比较(无任何吹捧贬低的意思),鄙人不才撸了一个轮子dotnettyrpc,它的定位是一个跨平台(.net45和.net standard)、简单却实用的rpc框架
打开nuget包管理器,搜索dotnettyrpc即可找到并使用
或输入nuget命令:install-package dotnettyrpc
public interface ihello { string sayhello(string msg); } public class hello : ihello { public string sayhello(string msg) { return msg; } }
using coldairarrow.dotnettyrpc; using common; using system; namespace server { class program { static void main(string[] args) { rpcserver rpcserver = new rpcserver(9999); rpcserver.registerservice<ihello, hello>(); rpcserver.start(); console.readline(); } } }
using coldairarrow.dotnettyrpc; using common; using system; namespace client { class program { static void main(string[] args) { ihello client = rpcclientfactory.getclient<ihello>("127.0.0.1", 9999); var msg = client.sayhello("hello"); console.writeline(msg); console.readline(); } } }
先运行服务端,再运行客户端,即可在客户端输出hello
本机测试一次rpc请求平均0.4ms左右,性能不高,但是足以应对绝大多数业务场景,重在简单实用。可以优化的地方很多,还望大家多多支持。
github地址:https://github.com/coldairarrow/dotnettyrpc
qq群:373144077
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论