Provide extensibility points for Service Fabric Remoting
The service fabric remoting library is great, though not very extensible.
I have two immediate needs to satisfy before I can migrate to using the service fabric.
- Pass a custom header context. This is readily available by inheriting from the ServiceRemotingDispatcher alongside creating an implementation of IServiceRemotingClient.
- Provide a custom data contract serializer / resolver. I cannot find any way to do this outside of completely writing my own transport.
In digging through the service fabric remoting code I am discovering that most everything is marked internal and the code is so heavily coupled to internal classes that almost nothing is extensible to allow me to provide a custom serializer/resolver.
I would like to request that the Service Fabric Remoting library be made more extensible or open sourced so that one can copy it to use it as a base for an extensible version.
This would be nice for custom serialization or custom actions.
Agree 100%. In addition, it would allow us to reflect on methods being invoked, and for example inspect any applied attributes. This way, we could implement things like "action filters" like we have in Web API, but without having to use Web API just for that.