I’m moving a .NET WCF application to Mono for use in iOS. Because Mono in iOS does not support dynamic code generation, I need to override ClientBase.CreateChannel, as indicated in this post:
Monotouch/WCF: How to consume the wcf service without svcutil
This solution uses the generic ChannelBase<TChannel>. While this class is defined as an inner class of ClientBase<TChannel> in .Net 4.0, I couldn’t find it in the Mono source. There appears to be an unimplemented version of the non-generic ChannelBase in System.ServiceModel.Channels, but I don’t think this is used here.
If anyone has gotten this solution to work, could you please elaborate on how you accessed ClientBase<TChannel>?
Thanks.
We eventually found
ChannelBase<TChannel>as an inner class ofClientBase<TChannel>. It was marked as internal. We had to remove the internal modifier in order to use the class and recompile mono, but then the solution in the previously referenced post worked.I can’t explain why
ChannelBase<TChannel>is marked as internal. This does not seem to match its definition in .Net.