若要将 ASP.NET Core gRPC用于 Azure 应用服务或 IIS,则该 gRPC 具有额外的要求。 有关可以在何处使用 gRPC 的详细信息,请参阅 .NET 支持的平台上的 gRPC
GrpcGreeterClient 类型是由生成进程自动生成的。 工具包 Grpc.Tools 基于 greet.proto 文件生成以下文件:
- GrpcGreeterClient\obj\Debug\[TARGET_FRAMEWORK]\Protos\Greet.cs:用于填充、序列化和检索请求和响应消息类型的协议缓冲区代码。
- GrpcGreeterClient\obj\Debug\[TARGET_FRAMEWORK]\Protos\GreetGrpc.cs:包含生成的客户端类。
本文中的代码需要 ASP.NET Core HTTPS 开发证书来保护 gRPC 服务。 如果 .NET gRPC 客户端失败并显示消息 The remote certificate is invalid according to the validation procedure. 或 The SSL connection could not be established.,则开发证书不受信任。 要解决此问题,请参阅使用不受信任/无效的证书调用 gRPC 服务。
Timestamp 类型适用于 UTC 时间。 DateTimeOffset 值的偏移量始终为零,并且 DateTime.Kind 属性始终为 DateTimeKind.Utc。可为 null 的类型
双向流式处理方法采用 IAsyncStreamReader 和 IServerStreamWriter 作为自变量。 在彼此独立的线程上使用这些类型是安全的。
注册 ASP.NET Core 身份验证中间件的顺序很重要。 始终在 UseRouting 之后和 UseEndpoints 之前调用 UseAuthentication 和 UseAuthorization。应用在调用期间使用的身份验证机制需要进行配置。 身份验证配置已添加到 Program.cs 中,并因应用使用的身份验证机制而异。
仅当通道通过 TLS 进行保护时,才应用 CallCredentials。 通过不安全的连接发送身份验证标头具有安全隐患,不应在生产环境中执行。 应用可以配置通道以忽略此行为,并通过在通道上设置 CallCredentials 始终使用 UnsafeUseInsecureChannelCallCredentials。以下示例中的凭据将通道配置为随每个 gRPC 调用发送令牌:
个人觉得比gRPC 使用更简单一点,个人还是比较推荐
Feign 组件会由FeignProxyBuilder类自动为接口生成实现代理类,注意,此版本中接口必须定义为Task 异步方法。定义一个接口,并且在接口上添加FeignClient注解,FeignClient注解里可以自定义http接口url的公共部分-url(整个接口请求的url由FeignClient里的url加上方法里的path组成),是否忽略远程接口的https证书校验-IsIgnoreHttpsCertificateValidate,接口超时时间-Timeout(单位s),自定义拦截器-InterceptorType。
注意:这里的nacos 配置与原生的nacos配置不太一样,SummberBoot会集成Nacos服务注册,所以若考虑接入SummberBoot中的Nacos,则原生的Nacos服务注入则应去掉。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |