Visual Studioの「サービス参照の追加」機能を使用してクライアントが参照できるようにするWCFサービスがあります。彼らはメタデータ・エンドポイントを認識できました。インターフェース、メソッド、データ型はAdd Service Referenceダイアログに表示され、問題なくプロキシーを生成することができますが、生成されたコード・ファイルを表示したり、オブジェクトブラウザでは、ServiceContractから生成されたサービスインタフェースはありません。DataContractsのみが表されます。コマンドラインから同じエンドポイントURLにsvcutilを指定すると、生成されたファイルには、インタフェースが含まれているになります。なぜVS "サービス参照の追加"はservicecontractsのインタフェースを生成しないので、svcutilはちょうど良いと認識しますか?
- サービス自体はしばらくの間、生産に使用されており、それは、カスタムバインディングを使用していますが、正確な同じ結合の構成(およびその他のコンフィグ設定が)そうです、別のサービスで使用されている
- 罰金を動作するようですサービス追加の参照でうまく動作する
- が異なるのは、です。このサービスでは、カスタム動作(IServiceBehaviorから派生した属性)を使用しています。インタフェースも具体的なサービスタイプとは異なるアセンブリにありますが、データコントラクトも同様です。
更新: 私は何とか見落としたい問題を引き起こしているように見える何、このインターフェイスのメソッドのいくつかのためFaultContractsがあることであり、これらのFaultContractsがある例外タイプを参照しています[Serializable]ではなく、[DataContract](私はExceptionから派生したものはそうでなければならないと思う)。例外タイプ自体は生成されたコードで表されますが、そのパブリックプロパティは(svcutilまたはASRで生成されたコードではありません)
テストとして、これらの相違点を削除して問題が解決するかどうかを確認してください。 –
私は尋ねる前にそれを試していたはずですが、あなたは私にそれをしてくれると恥じました。サービス参照の追加はまだサービスインターフェイスのコードを生成していません。 –