Быстрый способ запустить самодостаточный сервис WCF, используемый для связи с нативным API - PullRequest
0 голосов
/ 09 апреля 2019

Я работаю над компонентом, используемым для генерации 3D CAD моделей.Поскольку API, используемый для генерации самой модели, является родным, я придерживаюсь WCF / NetNamedPipeBinding для IPC.Компонент используется веб-приложением (IIS).Клиентский прокси-сервер запускает хост службы как собственный процесс (!).Причина этого заключается в том, что нативный API должен «работать» в своей собственной памяти, чтобы обеспечить не поврежденную трехмерную модель.Следовательно, WebApplication (IIS) -> прокси-клиент WCF -> WCF ServiceHost в своем собственном процессе (EXE, самостоятельно размещенный) -> собственный API

Проблема: запуск сервисного хоста занимает несколько секунд, что слишком много.Особенно при вызове из многопоточной среды.

Есть ли способ запустить эту службу по требованию?Моя идея - что-то вроде 20 запущенных сервисных хостов (= процессов), которые увеличиваются после использования, например, 15 из них.Помните, что размещенная служба IIS не является опцией, поскольку IIS не создает такой узел службы в своем собственном процессе (со своей собственной памятью) при каждом запросе.

...