Я использую общий класс в качестве контракта данных ответа. Все это хорошо, и это значительно упрощает дизайн моей услуги WCF.Именование общих DataContracts в WCF
Каждый запрос получает стандартный объект ответа со следующей подписью:
- Статус (Enum)
- сообщений (String)
- Результат (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»
Есть ли способ обойти эту проблему?
Должен ли я использовать этот класс как абстрактный класс, который наследуется? Я бы предпочел не иметь несколько классов, загромождающих мой код.
Вот значение stackoverflow для меня ... Я знал, что раньше задавал этот вопрос. и даже ответил! И вот оно - спасибо –
Каков ваш тип возврата вашего основного метода обслуживания. т.е. можете ли вы, как вы это используете. PLZ – Seabizkit