Как совпадают пул приложений времени выполнения Wrkflow и приложений IIS? - PullRequest
1 голос
/ 03 ноября 2010

Мы размещаем рабочие потоки с WCF и IIS 7. Я заметил одну вещь: когда пул приложений достигает времени простоя, рабочий процесс выгружается и сохраняется в БД.

Затем, когда мы запускаем другой рабочий процесс, старый сохраненный / выгруженный рабочий процесс снова возобновляет работу, и оба запускаются.Почему это происходит?

Если у вас длительные рабочие процессы, нужно ли устанавливать время простоя больше, чем то, для чего будет работать самый продолжительный рабочий процесс?

Как лучше всего управлять памятью с помощью рабочих процессов хостинга в IIS с WCF?

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

Спасибо

1 Ответ

1 голос
/ 03 ноября 2010

Вероятно, IIS настроен для завершения рабочих процессов после простоя.Это означает, что когда WCF, выполняющийся в пуле приложений, достигает IIS простоя, он завершает рабочий процесс w3wp.exe, и WCF сохраняется самостоятельно.Когда вы запустите второй рабочий процесс, w3wp.exe будет запущен снова, поэтому вы увидите, что оба WCF снова будут работать, но если один из них снова достигнет, IIS простоя снова отключит процесс w3wp.exe.

...