3

我正在将 .NET WCF 应用程序移动到 Mono 以在 iOS 中使用。因为 iOS 中的 Mono 不支持动态代码生成,所以我需要重写ClientBase.CreateChannel,如这篇文章所示:

Monotouch/WCF:如何在没有 svcutil 的情况下使用 wcf 服务

此解决方案使用通用的ChannelBase<TChannel>. 虽然此类被定义为ClientBase<TChannel>.Net 4.0 中的内部类,但我在 Mono 源代码中找不到它。似乎有一个未实现的非泛型ChannelBasein版本System.ServiceModel.Channels,但我认为这里没有使用它。

如果有人让这个解决方案起作用,您能否详细说明您是如何访问的ClientBase<TChannel>

谢谢。

4

1 回答 1

2

我们最终发现ChannelBase<TChannel>作为ClientBase<TChannel>. 它被标记为内部。我们必须删除 internal 修饰符才能使用该类并重新编译 mono,但是之前引用的帖子中的解决方案起作用了。

我无法解释为什么ChannelBase<TChannel>被标记为内部。这似乎与 .Net 中的定义不匹配。

于 2012-11-15T15:53:25.487 回答