2017-08-15 9 views
0

ここでは、生成しようとしているコードファイルのスニペットを示します。これは古いWCFプロジェクトなので、私はよく知らない。新しいサービスプロジェクトでは、右クリックしてサービス参照の更新を選択するだけです。WCFサービス用のサービスインターフェイスクラスを作成する必要があります。

using System; 
`//------------------------------------------------------------------------- 
----- 
// <auto-generated> 
//  This code was generated by a tool. 
//  Runtime Version:4.0.30319.269 
// 
//  Changes to this file may cause incorrect behavior and will be lost if 
//  the code is regenerated. 
// </auto-generated> 
//-------------------------------------------------------------------------- 
---- 


[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", 
"4.0.0.0")] 
[System.ServiceModel.ServiceContractAttribute(ConfigurationName = 
"IBusinessService")] 
[CLSCompliant(false)] 
public interface IBusinessService 
{ 

[System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IBusinessService/Receive_Replenishment_Request", ReplyAction = "http://tempuri.org/IBusinessService/Receive_Replenishment_RequestResponse")] 
int Receive_Replenishment_Request(System.Nullable<int> Module, System.Nullable<int> Level, System.Nullable<int> Side, System.Nullable<int> Row, string User); 

このファイルには、[のServiceContract]属性を持ちBusinessService.csとIBuesinessService.csより独立したプロジェクトです。

サービス参照クラスを生成するために実行する必要があるツールはありますか?私はこのサービスリファレンスを更新する必要があります。

+0

あなたのやりたいことははっきりしません。サービスを定義するインタフェースを生成しますか?あるいはコンシューマーコードを生成したいですか? –

答えて

1

「サービス参照の追加」ウィンドウは、Svcutilの単なるラッパーです(または、同じAPIを呼び出しています)。このツールは、コマンドプロンプトから実行できます。

あなたが実際のクライアントを生成したいあなたのサービスが実行され、メタデータを公開している場合、それは、サービスクライアントを構成するクラスとデータ型を「プロキシ」を生成するために

svcutil http://service/metadataEndpoint 

と同じくらい簡単です。

あなたはサービスを実行することはできません、またはそれは、メタデータを公開することができない場合、私はあなたがた.wsdlするサービスとの.xsdファイルを含むアセンブリからメタデータをエクスポートする必要が推測した場合:

svcutil.exe ServiceAssembly.dll 

次に、これらのファイルからクライアントを生成します。

svcutil.exe YourServiceName.wsdl 

How to generate WCF service with SvcUtil.exeも参照してください。

+0

これは本当のサービス参照ではなく、ただのインターフェースのようです。そして私はそれが以前にどのように作られたのか分からないのですか?このsvcutilはインターフェイスファイルを作成しますか? – Mitch

+0

私は答えの2番目の文を変更しました。はい、Svcutil.exeは、サービスを表すインターフェイスと、そのサービスのクライアントとして機能するプロキシクラスを生成します。 – CodeCaster

関連する問題