лучшая практика для возврата стоимости в сервисах WCF - PullRequest
1 голос
/ 21 июля 2010

У меня есть служба WCF в облаке.И мое приложение делает несколько вызовов этой службе WCF.Рекомендуется ли: 1] всегда использовать возвращаемое значение в качестве bool, которое указывает, была ли операция успешной или нет.2] возврат значений, которые вы намеревались вернуть в качестве параметров OUT

Ответы [ 2 ]

1 голос
/ 21 июля 2010

Я бы:

  • вернул атомарное значение (bool, string, int), если необходимо
  • вернул сложный тип (экземпляр класса), если мне нужновернуть более одного значения - убедитесь, что этот класс отмечен [DataContract], а его свойства [DataMember]

  • ошибка SOAP FaultException<T> при возникновении ошибки;часть <T> позволяет вам определять свои собственные классы ошибок, и снова - не забудьте пометить их [DataContract] / [DataMember] и объявить их как FaultContract в ваших операциях

0 голосов
/ 27 августа 2014

1], чтобы всегда использовать возвращаемое значение в качестве логического значения, которое указывает, была ли операция успешной или нет

  • Да, если операция не занимает много времени И статус возврата всегда актуален: Ожидание возвращаемого значения может повлиять на производительность и масштабируемость как клиента, так и узла службы (сервера). Ex. в запросе-ответе, запросы могут сохранять соединения открытыми в течение длительного периода времени в ожидании завершения операции. Можно реализовать способом, аналогичным использованию кода состояния «HTTP 202 Accepted» (т. Е. Операция получила аргументы и начала (внутренне), но ожидает завершения)
  • Нет, если логика работы имеет смысл только в синхронном режиме.
  • Нет, если вы заинтересованы в рефакторируемости / ремонтопригодности напр. если вы хотите вернуться, включите сообщение об ошибке / код в ответ.

2] возвращает значения, которые вы хотели вернуть в качестве параметров OUT

  • Да, это делает операцию службы более совместимой с WSDL и легко читаемой.
...