У меня есть служба WCF, размещенная как служба Windows, и большинство ее методов в настоящее время определены как:
[OperationContract(IsOneWay = true)]
Но теперь мне нужно отправить ответ обратно в вызывающее веб-приложение для этих методов службы.
Теперь, поскольку методы обслуживания немного тяжелы (к вашему сведению, они представляют собой методы отчетности, которые должны выполнять слияние почты для количества записей), я думаю либо поставить их в очередь, либо обрабатывать асинхронно, поэтому, по существу, когдазапрос отправляется в службу, и он должен сохранить запрос в базе данных / очереди, возвращая Request-Id вызывающему веб-приложению.
- В то же время служба WCF может просто обрабатывать незавершенные запросы изочередь или база данных.
- Тогда либо вызывающее веб-приложение может пропинговать службу WCF для состояния запроса, поскольку оно имеет Request-Id, либо
- Служба WCF может пропинговать вызывающее приложение, когда процесс, соответствующийИдентификатор запроса завершен.
Для достижения вышесказанного, кто-нибудь может подсказать, какие изменения мне нужно внести в мою службу WCF (которая в настоящее время имеет все односторонние операции)?
Также, пожалуйста, сообщите мне, нужно ли мне переходить на асинхронную работу или в очередь сообщений?
Спасибо!