#wcf
#wcf
Вопрос:
Вот что я хотел бы сделать.
1. Служба, размещенная в WCF
2. Клиент вызывает, запрашивая полезную нагрузку сообщений
3. Служба возвращает полезную нагрузку сообщений и ожидает ответа клиента
3.A. Клиент возвращает статус 200 (OK) или что-то еще, подтверждающее полученные сообщения.
3.B. Клиент возвращает статус плохой ошибки, указывающий, что сообщения на сервере не удаляются.
4. В зависимости от 3.A или 3.B Служба предпримет соответствующие действия.
Я хотел бы сделать это, выполнив что-то вроде расширения IDispatcher и написав методы расширения. ПРОТИВ создания другой службы и того, чтобы клиент вызывал эту службу, чтобы сообщить, какие сообщения он получил. Если только это не является передовой практикой.
Заранее благодарю.
Ответ №1:
Если требуется действовать в соответствии с кодами состояния HTTP, то WCF, вероятно, не то, что вы хотите использовать. WCF был создан, чтобы иметь возможность писать независимый от транспорта код, поэтому привязки могли быть изменены исключительно с помощью конфигурации; никаких изменений кода не требуется. Обработка HTTP-запросов настолько глубоко скрыта в привязках на основе HTTP, что вам лучше использовать что-то вроде OpenRasta framework для реализации вашего сервиса в стиле HTTP (REST). Это платформа, поддерживающая HTTP-запросы.
В противном случае, посмотрите на это введение к WSDualHttpBinding, чтобы выполнить нечто подобное на уровне API приложения.