WCF ホストが公開するコントラクトのリストをクライアントとして取得する可能性はありますか?
サービスにクエリを実行し、それが実装するインターフェイスを確認したいと思います。
WCF ホストが公開するコントラクトのリストをクライアントとして取得する可能性はありますか?
サービスにクエリを実行し、それが実装するインターフェイスを確認したいと思います。
WCF Discoveryを見てください。
あなたができる最善のことは、何が公開されているかを見て、それがインターフェースであると想定することです。クラスが実装するさまざまなインターフェースをすべて見ることはできません。たとえば、IFooService と IDisposable を実装したサービスがあり、IFooService が WCF を介して公開されている場合、クライアントから IFooService のすべてのメソッドを表示できます。
WCF Test ユーティリティは、指定された wsdl を受け取り、そのクライアントを生成します。そのソースを調べることから始めるのがよいでしょう。(リフレクターのようなもので逆コンパイルする必要があります)
別のアイデアとして、プログラムで svcutil を呼び出して特定の wsdl のクライアントを生成し、msbuild を呼び出してコンパイルし、リフレクションを使用して出力アセンブリを読み込むことができます。それはかなりの量の仕事になるだろうし、あなたがそれで何をするか私にはわからない. クライアントを検査して呼び出すには、かなり複雑な UI を構築する必要があります。
一般に、(Web) サービスは、WSDL などの XML ベースのプロトコルによって記述されています。これは、サービスの検出とその操作の説明の両方に使用されます。また、UDDI が使用されることもありますが、ほとんどはエンタープライズ アプリケーション統合 (内部使用) です。
したがって、WCF サービスで WSDL 情報を生成し、クライアントにクエリを実行させることができます。
これは WCF ではサポートされていません。
サービスの WSDL コントラクトをクエリできますが、WCF コントラクトやインターフェイスはクエリできません。