Open tgy3300 opened 1 month ago
抱歉回复有一些晚。
Service 中间件是否通用主要看的是你是否对 Cx 及 Req 有明确的要求或者指定。
比如,如果你一定需要从 Cx 中获取一些 HTTP 的信息,那么你就需要指定 Cx 为 Volo-HTTP 的 Context 了,这种情况下中间件就不能复用了。
但是如果你直接使用 Volo 的 Context 就能满足需求,那么就是可以通用的,Volo-HTTP 和 Volo-gRPC 的 Context 都是基于 Volo 的 Context 扩展得到的。
问题2: 两个不同类型是不能放到一个Vec里的,如果你一定要放在一个Vec里,需要加一层Box擦除具体类型
先说问题:
问题1:http服务能使用开发的测试中间件TestLayer和DemoLayer,但是grpc服务不能,所以一问:volo_grpc和volo_http的中间件是否通用
问题2:开发的测试中间件TestLayer和DemoLayer能否放在一个Vec中,如果能,哪这个Vec的类型如何定义,如下:
volo-grpc和volo-http的中间件不知是否通用 下面是开发的测试中间件
http 服务启动(正常)
grpc 服务启动(问题,中间件不通用)