2011-05-31 10 views
0

私は、サービスへのリクエストに必要なプロパティを含むシンプルなクラスを持っています。WCFでクラス構造を公開していますか?

私は消費者がこのクラスを最後にインスタンス化して、それを埋めて、サービスに戻すようにします。多分、私が使っている用語は正しいわけではありませんが、他のシステムで可能だった過去のプロジェクトノートを読んだことは間違いありません。

[DataContract] 
public class SearchRequestObject 
{ 
    [DataMember] 
    public string WebsiteGuid { get; set; } 

} 

私のサービスプロジェクトには、DataContractとDataMemberの両方が設定されています。一度それを公開して別のプロジェクトで消費すると、SearchRequestObjectはどこにも表示されません。これはサービスのインターフェイスで定義する必要があるためですもしそうなら、どうですか?

ありがとうございました。

答えて

1

通常、SearchRequestObjectは、例えば、あなたのサービスのいずれかの方法で使用されるオブジェクトの1次のようになります。クライアントクラスが自動的に生成されている場合

[ServiceContract(ConfigurationName = "IWCFService")] 
public interface ICascadeManagementService 
{ 
    [OperationContract(Action = "http://tempuri.org/IWCFService/DoSearch")] 
    SearchResponseObject DoSearch(SearchRequestObject searchRequest); 
} 

、彼らはreference.csでSearchRequestObjectが含まれます定義を含むファイル。

クライアントプロジェクトにSearchRequestObjectが定義されているプロジェクトへの直接参照があるため、メソッドに既に含まれている場合は生成されていない可能性があります。また、サービス参照を作成するときに、アセンブリ。クライアントプロジェクトの参照リストに参照があるかどうか、および[サービス参照の追加]ダイアログの[詳細]セクションで参照されているアセンブリから型を再利用するかどうかを確認できます。

関連する問題