Machete.Rpc
Machete.Rpc 是一个轻量级的Rpc(远程过程调用的)框架。底层代理使用了Emit提高了效率,底层通信采用DotNetty框架以提升通信的效率。目前正在逐步完善中。
简单使用
目前还没有放到Nuget上,稍后放上去
1.新建一个类库Machete.Rpc.Sample.Service,新建一个接口IChatService
[RpcService] public interface IChatService { string Hi(string name); string Hi(string name, string content); string Hello(int age); string Hello(double age); }
复制
2.在新建一个类库Machete.Rpc.Sample.Implement,在类库里面新建一个实现IChatService的类
[RpcService] public class ChatService : IChatService { public string Hi(string name) { return name + ":你好 世界"; } public string Hi(string name, string content) { return name + ":" + content; } public string Hello(int age) { return "int:" + age; } public string Hello(double age) { return "double:" + age; } }
复制
3.新建一个控制台程序 Machete.Rpc.Sample.Server(或者其他的程序),添加对Machete.Rpc.Sample.Service,Machete.Rpc.Sample.Implement的引用,在app.config 中增加如下配置,
<appSettings> <add key="rpc.service" value="Machete.Rpc.Sample.Implement.dll"/> <add key="rpc.server.port" value="12900"/> </appSettings>
复制
在Main方法中开启一个rpc服务
int port = Convert.ToInt32(ConfigurationManager.AppSettings["rpc.server.port"].ToString()); RpcHub hub = new RpcHub(); hub.Start(port);
复制
4.新建一个wpf(或其他的客户端程序)Machete.Rpc.Sample.Client,添加对Machete.Rpc.Sample.Service的引用,在app.config 文件中增加如下配置,
<appSettings> <add key="rpc.server.host" value="127.0.0.1"/> <add key="rpc.server.port" value="12900"/> </appSettings>
复制
进行rpc调用代码很简单,如下:
private void Button_Click(object sender, RoutedEventArgs e) { IChatService chatService = InterfaceProxy.Resolve<IChatService>(); string result = chatService.Hi("张三"); MessageBox.Show(result); }
复制
5.先启动Machete.Rpc.Sample.Server,在启动Machete.Rpc.Sample.Client。点击按钮(Say Hi),会进行rpc调用得到结果。
文章转载自乐乐学编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1275次阅读
2025-04-27 16:53:22
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
752次阅读
2025-04-30 15:24:06
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
618次阅读
2025-04-14 09:40:20
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
523次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
485次阅读
2025-04-30 12:17:56
GoldenDB数据库v7.2焕新发布,助力全行业数据库平滑替代
GoldenDB分布式数据库
475次阅读
2025-04-30 12:17:50
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
364次阅读
2025-04-18 10:01:22
给准备学习国产数据库的朋友几点建议
白鳝的洞穴
337次阅读
2025-05-07 10:06:14
XCOPS广州站:从开源自研之争到AI驱动的下一代数据库架构探索
韩锋频道
299次阅读
2025-04-29 10:35:54
国产数据库图谱又上新|82篇精选内容全览达梦数据库
墨天轮编辑部
282次阅读
2025-04-23 12:04:21