У меня есть веб-сервис, который я хотел бы загрузить, отправив несколько запросов к нему параллельно. Мне пришло в голову, что WF может оказаться полезным инструментом для организации, обладающего гибкостью для быстрого изменения информации о нагрузке / потоке и захвата информации о времени видимым и воспроизводимым способом (вот почему WF хорош, верно?). Из моего прочтения на сегодняшний день кажется, что, несмотря на то, что они называются Parallel и ParallelFor, ни одно из действий не будет запускать вложенные действия параллельно, но будет запускать их последовательно в одном потоке и ожидать завершения всех вложенных действий. Если параллельное действие блокируется, его можно сохранить, и выполнение будет продолжено со следующим параллельным действием.
Этот вопрос / ответ SO говорит о том, что если используется AsyncCodeActivity (то есть, где я могу обратиться к веб-службе), то
AsyncCodeActivity всегда создает блок no persist на время выполнения действия. Это не позволяет среде рабочего процесса сохранять экземпляр рабочего процесса в середине асинхронной работы, а также предотвращает выгрузку экземпляра рабочего процесса во время выполнения асинхронного кода.
Что явно не то, что я хочу. Итак, как я могу использовать WF для выполнения нескольких параллельных запросов к веб-сервису или это SPRH (квадратное колышко круглое отверстие)?