私は、SilverlightアプリケーションをWCFサービスを通じてサーバー側と通信しています。当初、私はSilverlightのメインアプリケーションのすべてを持っていましたが、私はいくつかのクラスを別のSilverlightクラスライブラリプロジェクトに組み入れたいと思っていました。しかし、これは私にいくつかの奇妙な問題をもたらしました...SilverlightのWCFサービスリファレンス
私は、WCF通信を行うクラスを別のプロジェクトに取り込みたいと考えました。だから:
- 新しいプロジェクトを作成しました。 Silverlightクラスライブラリ
- SilverlightアプリケーションからSilverlightクラスライブラリにクラスを移動しました
- アプリケーションからサービス参照を削除しました。
- クラスライブラリプロジェクトからのサービス参照を追加しました。
コンパイルがうまくいき、クラスライブラリのサービスにインテリセンスがあるので、問題はないようです。私はまた、サービスを更新し、クラスライブラリの更新を得ました。 しかし、次のエラーを与えるサービスコールを行うときに、それが失敗したアプリケーションの実行時に:
と、InvalidOperationExceptionがユーザーコードによって未処理だったの
で契約「MyServiceReference.IMyService」を参照して、デフォルトのエンドポイント要素を見つけることができませんでしたServiceModelクライアント構成セクション。これは、アプリケーションに設定ファイルが見つからなかったか、またはこの契約に一致するエンドポイント要素がクライアント要素内に見つからなかった可能性があります。
サービスを見つけることができないようですが、なぜですか?私はそれが私が1つを追加することができますように、Silverlightクラスライブラリからサービス参照を持つには問題はないはずだと思いますか?
Thx - それを解決しました!クラスライブラリプロジェクトからServiceReferences.ClientConfigコンテンツをコピーするか、同じサービス参照をアプリケーションプロジェクトに追加することで解決します。だから私はそれが別の場所で定義されているにもかかわらず、サービスの要求を処理するのはアプリケーションそのものだろうと思いますか?しかし、これはちょっとハッキリです。Class Libraryプロジェクトでサービス参照を使用するのは大丈夫ですか? – stiank81
確かに、クラスライブラリにサービス参照があることは非常に望ましいことです。メインのアプリに設定を保存することを忘れないでください - それはすべてです:-) –
良い:-)答えのためのThx! – stiank81