クライアント/サーバープロジェクトで作業していますが、ほとんどの場合、PCLでSystem.ServiceModel
にアクセスできないため、動作させるのに苦労しています。Xamarinは、特定のプラットフォームライブラリからWCFデータをPCLに返します。
でも、私はPCLから呼び出すDependencyServices
を使用して、それぞれの特定のプラットフォームのサーバーとの接続を管理することができました。
私は、これは私は、それが非同期である、結合、エンドポイントを行うと、WCFから実際の操作を呼んでいるが、特定のプラットフォームに行きます
var result = DependencyService.Get<Interface>().Operation(param);
例えば呼び出したら私の問題は、あります今度は、このメソッドでWFCからの結果を返すことはできません。これは、操作が完了したら別のメソッドに返されるためです。
私の目標は、PCLでほとんどの仕事をすることです。そのため、各プラットフォームでインターフェイスを複数回作成する必要はありません。ですから、私が必要とするのは、PCLのサーバー(WCF、またはそれを動作させる他のもの)の結果を返す方法です。
をチェックこれを行うための別のインタフェースと依存性注入。ところで、私はPCLですべてのWCF呼び出しを使用していますが、なぜあなたのために機能しないのかわかりません。 XFormsやClassicを使用していますか? –
呼び出している関数がasyncの場合、結果を同じ呼び出し元に返します。何が問題ですか?関数定義と呼び出しのコードをもう少し共有できますか? –
@Yuri私はXFormsを使用しています。私がservice.csをMyApp(Portable)に置くと、_型または名前空間名 '...'のようなエラーが、 'System.ServiceModel'という名前空間に存在しません。 MyApp.Droidプロジェクトに置くと正常に動作するので、PCLで動作しないと仮定しました。あなたはこれを回避することを望みます。 – BrunoWB