0

WCFでクラスを初期化する方法は?

1つのクラスで2人のメンバーの合計を作成したいとします。

私は次のようにiServiceでコーディングしました:

[DataContract]
class Sample
{
    public int i { get; set; }
    public int q { get; set; }
}

[OperationContract]
public int Sum(Sample obj);

そしてサービス中:

public int Sum(Sample obj)
{
}

両方のページのクラス宣言と混同しているので、それを実行するために追加のコーディングには何が必要ですか?

4

1 に答える 1

4

通常は以下のように設定します。サービスをデータ契約から明確に分離する必要があります。

[ServiceContract]
public interface ISampleService
{
        [OperationContract]
        int sum(SampleData obj);
}

public class SampleService : ISampleService
{
        public int sum(SampleData obj)
        {
           // logic here
        }
}

[DataContract]
public class SampleData
{
       [DataMember]
       public int i { get; set; }

       [DataMember]
       public int q { get; set; }
}
于 2012-05-22T08:37:30.943 に答える