HTTPで公開されている単純なWCFサービスのMonoTouchクライアントを実装している間に、私は次のようなメッセージを表示しています:InvalidOperationException
System.ServiceModel.ClientBaseをオーバーライドしようと苦労しています.CreateChannel()
MonoTouchでは、動的プロキシコード生成をサポートしていません。このメソッドまたはその呼び出し元をオーバーライドして、特定のクライアントプロキシインスタンスを返します。
これはthis fileの141行目からのものです。
CreateChannel()
System.ServiceModel.ClientBase<T>
私自身のClientBaseのサブクラスで、動的コード生成を使用しない実装をオーバーライドする必要があります。このメソッドは、T
のインスタンスを返します。
私のサービスクライアントの新しいインスタンスを返すと、はUnable to cast object of type 'MyServiceClient' to type 'System.ServiceModel.IClientChannel'
の例外をInnerChannel
のゲッターにスローします。
私はこの時点からどのように進めるべきか明確なアイデアはありません。
私は同じ問題を抱えていますが、これを解決するためのサンプルコードを提供できますか?ありがとうございました。 – Neal
WebClient(http://msdn.microsoft.com/en-us/library/system)を使用する単純なコードを使用して、Wiresharkを起動してワイヤで何が起こるかを確認し、サービス用の単純なデスクトップクライアントを構築するだけです。 .net.webclient(v = vs.100).aspx)を簡単な方法で使用します。このコードをMonoTouchソリューションのどこかに隠しておき、最終的にMonoTouch上で適切に動作させるときは、WebClientベースの実装を適切なものに置き換えてください。 – tomfanning