# Flashado.Framework.NCF **Repository Path**: avadars_admin/NCF ## Basic Information - **Project Name**: Flashado.Framework.NCF - **Description**: 基于DotNetty的RPC通讯框架 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-08-08 - **Last Updated**: 2023-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flashado.Framework.NCF #### 介绍 基于DotNetty的RPC通讯框架。 - 利用RealProxy,仿WCF的方式创建RPC通讯。使用简单,无需关心具体通讯协议。 - 实现调用服务代理 **NcfClientProxy** ,回调代理 **NcfCallbackClient** 。 - 支持自定义序列化方式,默认使用Newtonsoft.Json序列化。 - 支持传输数据的自定义编码,内置zip压缩、Aes加密。 - 支持超时、心跳、过滤器。 #### 安装教程 - 下载地址:https://www.nuget.org/packages/Flashado.Framework.NCF #### 简要示例 ##### 契约 用于约定调用结构,用接口表示 ``` public interface ITest { int Add(int n1, int n2); } ``` ##### 服务类 用于服务端功能的具体实现 ``` public class TestService:ITest { public int Add(int n1, int b2) return n1+n2; } } ``` ##### 服务宿主 服务运行宿主,承载通讯 ``` static void Main(string[] args) { var host = new NcfServiceHost(); //添加服务 host.AddService(new NcfServiceClass{ ServiceName = "TestService",//服务名,用于区分不同服务 ContractType = typeof(ITest),//契约接口 ServiceType = typeof(TestService)//服务类类 }); host.InitBootstrap();//初始化ServerBootstrap host.BindAsync(3398);//开始监听 Console.WriteLine("服务启动"); Console.ReadLine(); } ``` ##### 客户端调用 客户端调用方式 ``` var TestClient = new NcfClientProxy() { Host = "127.0.0.1", Port = 3398, ServiceName = "TestService" }; Console.WriteLine(TestClient.Channel.Add(1, 5)); ```