Как выполнить маршрутизацию к определенному процессу Web Worker в IIS (Web Garden) с использованием ASP.NET?

Наше веб-приложение зависит от проприетарной DLL/ библиотеки с закрытым исходным кодом, которая, кажется, устанавливает статические переменные, которые, как представляется, сохраняются и портятся с состоянием в разных запросах. Это хорошо для пакета запросов для одного пользователя, но если другой пользователь начинает использовать приложение, статические переменные от первого пользователя в области процесса связываются с взаимодействием второго пользователя.

Как лучше всего использовать статическую память сторонней библиотеки DLL для каждого пользователя / запроса?

Я полагаю, что самая простая реализация этого состояла бы в том, чтобы направлять каждый запрос к определенному веб-работнику (пространство памяти другого процесса), но я не могу найти какие-либо API-интерфейсы IIS/ASP, которые бы управляли тем, как IIS выбирает конкретного веб-работника для запрос.

0 ответов

Вы можете направлять трафик только в сам пул приложений. IIS выполняет круговую маршрутизацию только к рабочему процессу каждого пула приложений. Вы можете создать несколько пулов приложений с одним воркером, а затем использовать что-то вроде HAProxy для маршрутизации запросов в разные пулы приложений.

Другие вопросы по тегам