2011-06-23 17 views
2

私はWCF SOAPサービスに取り組んでおり、私は何か変わったことに気付きました。WCF SOAPサービス

は私が実装MethodAとMethodBは些細であり、何を行う可能性があるため、実装されたサービスクラスを与えるつもりはありません

[ServiceContract] 
public interface IService 
{ 
    [OperationContract] 
    int MethodA(int a, int b); 

    [OperationContract] 
    string MethodB(int a, int b); 
} 

私のサービス契約に次のコードを持っています。

「Web参照の追加」を選択し、サービスを使用するために使用しているASP.NETアプリケーションでプロキシ参照を作成すると、2つのメソッドの署名が異なることに気付きました。例えば

MethodAは、次の署名オプション

MethodA(int a,bool aSpecified,int b,bool bSpecified) 

を持っており、MethodBは

MethodB(int a,bool aSpecified,int b,bool bSpecified,out int MethodBResult,bool methodBResultSpecified) 

は、なぜ彼らは署名のためのさまざまなオプションを持っているでしょう次のシグネチャを持っていますか?

MethodAシグネチャはMethodAと同じにする必要があります。

最後の2つのパラメータを入力する必要がありますか?

答えて

3

WCFサービスを使用している場合は、「Web参照の追加」ではなく「サービス参照の追加」を使用してサービスへのプロキシを作成する必要があります。 "プロキシは、パラメータがサービスに送信されるのを防ぐことができるためです(詳細は、What are these extra parameters in my ASMX Proxy Methods?の回答を参照してください)

関連する問題