文章预览
gpRPC是基于google protobuf结构扩展出来的RPC通讯组件,它默认交互的是protobuf格式的消息。通讯中处理消息是一件繁琐的工作,为了让 gpRPC使用起来更方便简单,组件扩展了基于逻辑接口的方式来处理消息; gpRPC分别针对了服务端和客户端接口调用的扩展,接下来详细讲述这个实现. 服务端 由于基于消息处理所以在处理接口上还是有些限制的,接口方法只接通一个参数定义,而这个参数的类型必须实现了 google protobuf组件的IMessage接口,而方法的返回值侧是Task或Task 类型,因为这样才能更好协同异步处理,而 MSG同样也要实现 IMessage接口作为规则。 首先需要定义一个方法调用描述的结构 internal class MethodInvokeHandler { public MethodInvokeHandler ( MethodInfo method ) { ResultProperty = method.ReturnType.GetProperty( "Result" , Bin
………………………………