Visual Studioが、公開されたWebサービスXMLの実際のメソッドを表すメソッドを定義するプロキシクラスを実際に生成するWebReferenceを提供することは誰もが知っています。
しかし、誰もがそれをどのように行っているか知っていますか?その背後で使用されているライブラリはどれですか?
Visual Studioが、公開されたWebサービスXMLの実際のメソッドを表すメソッドを定義するプロキシクラスを実際に生成するWebReferenceを提供することは誰もが知っています。
しかし、誰もがそれをどのように行っているか知っていますか?その背後で使用されているライブラリはどれですか?
SvcUtil.exe
Visual Studio コマンド プロンプトから簡単にアクセスできます。使用方法については、このMSDN リンクを参照してください。
個人的には、エンタープライズ サービス用のテスト ハーネスを設定するために、かなりの頻度で使用しました。
この情報は、JetBrains DotPeek を使用して見つけました。
SvcUtil.exe を DotPeek にロードしてから、見回しました。
使用している API の答えとして、できることのオプションは複数ありますが、ExportServiceContracts
オプションを調べたところ、使用しているように見えます
System.ServiceModel.Description
データ型を使用して ServiceContract 情報を取得します。System.ServiceModel.Description
名前空間を使用MetadataExporter
して、WebReference フォルダーに作成するさまざまなファイルにエクスポートします。これが、何が起こっているのかを特定する方法の出発点になることを願っています。フレームワークやその他のさまざまなツールを理解しようとするときに、DotPeek が非常に貴重であることがわかりました。もちろん、他にも使用できる逆アセンブル ツールは多数あります。