DurableService использует встроенные функции WCF для передачи состояния (переменных уровня модуля) клиенту с помощью BasicHttpContextBinding или WSHttpContextBinding. Механизм сохранения зависит от HTTP-куки на клиенте или мыльных заголовков для хранения сериализованных данных между вызовами. Ваш средний размер сообщения мыла будет 100 КБ плюс любая полезная нагрузка, которую параметры операции сохраняют при каждом вызове. Вы также должны спроектировать семантику CanCreateInstance и CompleteInstance в свои контракты операций и логику приложения, чтобы правильно удалить полезную нагрузку сеанса.
DurableService, скорее всего, не будет очень производительным, учитывая ваш сценарий 1000+ одновременных сеансов и 100 КБ данных сеансов. По умолчанию службы WCF, которые разрешают сеансы любого типа, ограничены 16 одновременными сеансами. Вы можете увеличить это число, но я сомневаюсь, что вы сможете обрабатывать более 1000 сеансов на одном экземпляре сервера. Для такого количества сеансов вам, вероятно, потребуется использовать аппаратный или программный балансировщик нагрузки для нескольких хост-серверов, что делает поддержание работы сессии незадействованной даже при так называемой поддержке соответствия сеансов. Я бы рекомендовал использовать дизайн службы без учета состояния для каждого вызова и сделать код приложения ответственным за управление состоянием.