SvcUtil.exeを使用してIClassName.csファイルをwsdlファイルから生成していますが、正常に機能しています。私の問題は、SvcUtil.exeのコマンド引数を使用してClassName.svcファイルを生成する方法がわからないことです。
SvcUtil.exeを実行した後、Visual Studioから作成したときのようにWCFサービスを取得したいと思いますWizardすべてのクラス* .svc、*。cs、およびインターフェイスを含みます。
ありがとう、Skrch
まず、プロキシクラスを生成するには、サービスを起動して実行する必要があります。したがって、このユーティリティを使用する前に、サービスが問題なく実行されていることを確認してください。
サービスの状態を確認した後、Visual Studioコマンドプロンプトに移動し、次のコマンドを実行します。
svcutil http://localhost/MyService/ClassName.svc /Language=c#
/t:Code /out:ClassNameProxy.cs /config:ClassNameProxy.config
上記のコマンドでは、サービスURL(http://localhost/MyService/Service1.svc
)サービスのURL。私のサービスはc#.netで開発されているため、/ Language = c#フラグを使用して、同じ言語でプロキシを生成することを選択します。
/ t:codeは、出力をコードとして生成することを指定します。
/out:ClassNameProxy.cs /config:ClassNameProxy.configパラメーターは、これらのパラメーター値で指定されたファイルに名前を付けるようにユーティリティーに指示します。コマンドを実行すると、ツールは出力ファイルと構成ファイルを生成します。
その後、ClassNameProxy.csファイルをプロジェクトに含めてClassNameProxy.configファイルを開き、エントリをweb.configファイルにコピーします。また、ClassNameProxy.vbファイルを更新し、プロジェクトで使用しているものに従ってnamespaceを更新する必要があります。その後、コード内でサービスを簡単に参照し、オペレーションを呼び出すことができます。
svcutil http://service/metadataEndpoint
-実行中のサービスまたはオンラインメタデータドキュメントからクライアントコードを生成します。
svcutil *.wsdl *.xsd /language:C#
-ローカルメタデータドキュメントからクライアントコードを生成します。
svcutil /dconly *.xsd /language:VB
-ローカルスキーマドキュメントからVisualBasicでデータコントラクトタイプを生成します。
svcutil /t:metadata http://service/metadataEndpoint
-実行中のサービスからメタデータドキュメントをダウンロードする
svcutil myAssembly.dll
-アセンブリのサービス契約および関連するタイプのメタデータドキュメントを生成する
svcutil myServiceHost.exe /serviceName:myServiceName
-サービス、およびアセンブリ内のすべての関連するサービスコントラクトとデータタイプのメタデータドキュメントを生成します
svcutil myServiceHost.exe/dconly-アセンブリ内のデータ型のメタデータドキュメントを生成する
svcutil /validate /serviceName:myServiceName myServiceHost.exe
-サービスのホスティングを確認する
svcutil /t:xmlserializer myContractLibrary.exe
-アセンブリのサービスコントラクトで使用されるXmlSerializer型のシリアル化型を生成します
まだ答えを探していて2012バージョンが動作しない場合、Visual Studio 2015および.Net 4.5はsvcutil.exeツールを更新して/ serviceContractスイッチを使用し、.svcサービスとして実装できるクラスを生成します。元のXSDによっては、/ syncOnly/wrapped/messageContractスイッチも必要になる場合があります
ビルドタスクとしてVisual Studio 2012に統合された.NET 4.5Contract First Toolは、必要なサービスファイルの生成に役立つと思います。
多くの場合、サービス契約は既存のサービスから作成する必要があります。 .NET Framework 4.5では、contract-firstツールを使用して、既存のサービスからデータコントラクトクラスを自動的に作成できます。コントラクトファーストツールを使用するには、XMLスキーマ定義ファイル(XSD)をローカルにダウンロードする必要があります。ツールはHTTP経由でリモートデータコントラクトをインポートできません。
http://msdn.Microsoft.com/en-us/library/hh674270(v = vs.110).aspx
Svcutil.exeは、サービスのWebサービス記述言語(WSDL)に基づいてサービスクライアントプロキシを生成します。
Visual Studioコマンドプロンプトを開き、コマンドを実行します
svcutil http://localhost/MyService/Service.svc /Language=c# /t:Code /out:C:\Service\ServiceProxy.cs /config:C:\Service\ServiceProxy.config
c:\ Serviceフォルダーに2つのファイル、プロキシファイルと構成ファイルを生成します。
詳細 こちら 。