What are your selection criteria?
Functionally, after all, both approaches work very well and basically give you the same result.
What do you want to base your decision on?
My advice: choose a style with which you will be comfortable! Approach c ChannelFactory<IService>probably requires you to write less and less worldly code, so perhaps this will be a small advantage for this approach.
, .NET , - , , , .