microsoft / vs-servicehub

The service broker libraries used by Visual Studio to exchange intra- and inter-process services
MIT License
20 stars 8 forks source link

Add `ServiceJsonRpcDescriptor.AdditionalClientInterfaces` property #231

Closed AArnott closed 1 month ago

AArnott commented 1 month ago

This allows service broker clients to obtain a proxy that implements several RPC interfaces instead of just one.

Provided a brokered service is requested with a descriptor that has an appropriately populated array of additional interfaces, this makes testing for and casting to a proxy of the various interfaces as natural as using the C# casting operators.

Toward an overall fix for #225. The remaining problem is how to help the client know what interfaces are available on the brokered service, which will be solved in a subsequent PR.