Skip to content

binwan-dev/Kadder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kadder

Kadder 致力于简化C# RPC 调用过程,目前支持 Grpc 协议。Kadder使用事先约定模式开发。

Grpc模式

该模式下使用 Namespace 代替 Proto 中 Package,使用接口和类代理Proto接口和消息体,从而无需拷贝、书写Proto文件,以C#接口和结构体来书写。
以下即可声明一个Proto协议,Grpc接口。

namespace Kadder
{
    public interface IPersonServicer:IMessageServicer
    {
        // 普通模式
        Task<Result> HelloAsync(Request request); 

        // 无参普通模式
        Task HelloVoidAsync();// 可以支持无参;
        
        // 客户端流模式
        Task<Result> HelloClientStreamAsync(IAsyncRequestStream<Request> request);
        
        // 服务端流模式
        Task HelloServerStreamAsync(Request request, IAsyncResponseStream<HelloMessageResult> response);
        
        // 双向流模式
        Task HelloDuplexStreamAsync(IAsyncRequestStream<HelloMessage> request, IAsyncResponseStream<HelloMessageResult> response);
    }
}

客户端调用

namespace Client
{
   public class Program
   {
      public static void main(string[] args)
      {
         // 直接通过 ioc 组件拿到service,直接调用即可。
         var service = serviceProvider.GetService<IPersonServicer>();
         service.HelloAsync(request);
      }
   }
}

安装 Install

dotnet add package Kadder

使用 Use

请查看 Simple 案例 或查看说明。

About

C# 高扩展、简单易用的Grpc解决方案

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages