質問

応答データ コントラクトとしてジェネリック クラスを使用しています。すべて順調で、これにより WCF サービスの設計が大幅に合理化されています。

各リクエストには、次の署名を持つ標準応答オブジェクトが与えられます。

  • ステータス (列挙型)
  • メッセージ(文字列)
  • 結果(T)

以下は応答クラスです。

[DataContract]
    public class Response<T>
    {
        public Response() {}

        public Response(T result)
        {
            this.result = result;
            if (result != null)
            {
                this.status = Status.StatusEnum.Success;
            }
            else
            {
                this.status = Status.StatusEnum.Warning;
            }
        }

        public Response(T result, Status.StatusEnum status)
        {
            this.status = status;
            this.message = message;
        }

        public Response(T result, Status.StatusEnum status, string message)
        {
            this.status = status;
            this.message = message;
            this.result = result;
        }

        [DataMember]
        public Status.StatusEnum status { get; set; }

        [DataMember]
        public string message { get; set; }

        [DataMember]
        public T result { get; set; }
    }

そしてこれは見事に機能します。唯一の問題は、WCF クライアントにこのオブジェクト「ResponseOfAccountnT9LOUZL」という実にくだらない名前が付けられていることです。

この問題を回避する方法はありますか?

このクラスを継承された単なる抽象クラスとして使用する必要がありますか?複数のクラスがコードを乱雑にすることは避けたいです。

他のヒント

[DataContract(Name = "ReturnObjectOfType{0}")]
    public class ReturnObject<T>
    {....

//Iservice
[OperationContract]
        ReturnObject<AdresKisiBilgi> BeldeAdresKisiBilgiSorgula(string tcKimlikNo);


//Service
public ReturnObject<HbysBusiness.MernisGuvenService.AdresKisiBilgi> BeldeAdresKisiBilgiSorgula(string tcKimlikNo)
        {
            return new MernisBiz().BeldeAdresKisiBilgiSorgula(tcKimlikNo);
        }


client:
 public ReturnObjectOfAdresKisiBilgi BeldeAdresKisiBilgiSorgula(string tcKimlikNo)
        {....

あなたにハリーをありがとう
scroll top