使用protobuf-net调用gRPC服务时遇“指定方法不支持”错误求助
使用protobuf-net调用gRPC服务时遇到"specified method is not supported"错误
我们团队在微服务通信中采用Google gRPC,发现protobuf-net具备速度快、能降低代码复杂度且无需定义.proto文件的优势,遂尝试用它来提升性能,但调用gRPC服务时触发了specified method is not supported错误。我们推测是实体的标记方式有误,附上相关.NET代码,恳请@Marc Gravell协助排查问题。
相关代码
实体类定义
[ProtoContract] public class UserRequest { [ProtoMember(1)] public int UserId { get; set; } } [ProtoContract] public class UserResponse { [ProtoMember(1)] public int UserId { get; set; } [ProtoMember(2)] public string Username { get; set; } [ProtoMember(3)] public string Email { get; set; } }
gRPC服务客户端调用代码
var channel = GrpcChannel.ForAddress("http://localhost:5000"); var client = channel.CreateGrpcService<IUserService>(); var request = new UserRequest { UserId = 123 }; var response = await client.GetUserDetailsAsync(request); // 此处抛出异常
内容的提问来源于stack exchange,提问作者Anakar
相关产品推荐
相关产品推荐

