7

これが基本的なトピックであることは理解していますが、wsdl から始める前にこれを行ったことはありません。

wsdl ファイルと、型定義を含む一連の xsd が渡されます。それらが WCF サービスから作成されたものかどうかはわかりませんが (分割された形式のためそう思います)、コントラクトを実装する WCF サービスを作成する必要があります。

質問:サービス コントラクト インターフェイスを取得するにはどうすればよいですか?

wsdl.exe と svcutil.exe については知っていますが、何が何であるかについてはあまり詳しくありません。あとはサービス契約を実装するだけだと思います。

どんな助けでも大歓迎です!

PSこれについて別の質問がありましたが、同じ質問にあまりにも多くのことを入れようとしたので、今は簡単にしましょう.

4

1 に答える 1

13

次の 2 つの選択肢があります。

オプション 1:svcutil.exeコマンド ラインでユーティリティを使用します。ディレクトリにインストールする必要がありますC:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin(または、使用しているマシンとOSに応じて、同様のもの)

svcutil を使用しますか? すべての多くのパラメーターのリストについては。基本的に、最も単純な形式では、次を使用します。

svcutil  (name of your service).wsdl (name of your datafile).xsd

これにより、サービス コントラクトとデータ コントラクトを含む対応する(name of your service).csC# ファイルと、サンプル構成ファイルが作成されます。

生成された *.cs ファイル (VB.NET が必要な場合は *.vb) には、サービスのサービス コントラクト (WSDL からのメソッド) とデータ コントラクト (XSD からのデータ部分) が含まれます。 .

オプション 2: Visual Studio の [サービス参照の追加] ダイアログ (ソリューション エクスプローラーの [参照] ノード) を使用して、WSDL ファイルのファイル名を入力します。

[サービス参照の追加] ダイアログ

これにより、ユーティリティからの出力と基本的に同じであるサービス参照が作成されsvcutil.exeます。さらに、Visual Studio 用のいくつかのヘルパー クラスとファイルが追加されます。

残念なことに、どちらの場合も、インポートはひどくオーバーロードされた構成ファイルを作成します。これはおそらく、多くのプログラマーが WCF が非常に複雑であると考える理由の 1 つです。あなたのための設定....それがあなたを怖がらせないでください!

WSDL のサービス参照の追加で、関連する必要なすべての XSD ファイルが自動的に変換されない場合は、それらをプロジェクトに追加し、XSD2Codeなどを使用してそれらを C# (または VB.NET) クラスに変換する必要があります。 .

これwsdl.exeは、WSDL ファイルを ASMX (ASP.NET Web サービス) スタブに変換する非推奨のユーティリティです。もう使用しないでsvcutil.exeください。Visual Studio の Add Service Reference for WCF を使用してください。

適切で最小限の WCF 構成を作成する方法については、 Extreme WCFというタイトルの Miguel Castro による DotNet Rocks TV Show #122 をご覧ください。Miguel は、WCF プロジェクトを構築し、本当に必要なだけの構成を作成するための優れた方法を提示します (したがって、svcutil によって生成される混乱よりもはるかによく理解できます)。

于 2010-01-23T14:26:16.003 に答える