X proto-csharp doesn't generate DTOs for IStreamService

According to these docs we can use GrpcServiceClient for our familar GetAsync, PostAsync calls with decorated DTOs.

I was expecting to use StreamAsync and use a DTO defined that is consumed in an Service, IStreamService, however that DTO is not generated via x csharp, and it doesn’t show up in /metadata because it doesn’t exist on any normal services.

If I copy the DTO definitions to the client and use GrpcServiceClient the functionality works.

Just wondering if this is a bug, or how we can best generate DTOs for Grpc?
I tried using x proto-csharp however the client that this generates is not as nice as the generic ServiceStack client.

Am I best sharing a reference to MyService.ServiceModel between applications?

The Stream is only available via a gRPC endpoint (i.e. not a generic ServiceStack Service) which won’t be available in Add ServiceStack Reference DTOs. You could create a Dummy Service and Request DTO containing all missing DTOs you want generated.

Otherwise yeah I’d recommend sharing your ServiceModel.dll and avoid needing to do any code-gen.

Thanks for the clarification - the GRPC part of the services are for a tightly coupled integration and am still using REST for standard CRUD and typical functions.

I’ll create an assembly for the grpc dto definitions I can share with the coupled portion.