То, о чем вы на самом деле говорите, это две разные вещи.Во-первых, у вас есть концепция работы с веб-сервером, таким как IIS, а не через Kestrel напрямую.Затем есть концепция работы в IIS как в proc, так и вне proc.
Давайте рассмотрим первое.Каждый раз, когда вы запускаете что-либо в IIS, вы получаете процесс w3wp.exe (или несколько, если он выполняется через веб-ферму).Это действительно не имеет ничего общего с .NET Core, это всего лишь процесс для пула приложений в IIS.Вы также можете просто запустить ваше приложение напрямую с помощью dotnet.exe
(Kestrel), что, конечно, приводит к запуску этого процесса.
Затем, если вы размещаетесь в IIS, вы можете запускать в proc или out.Вне процесса, прежний по умолчанию (фактически единственный способ), IIS выступает в качестве обратного прокси-сервера - пул приложений (w3wp.exe) передает запросы на фактический процесс приложения, запущенный через Kestrel (dotnet.exe).В этом сценарии присутствуют оба процесса, потому что используются оба.В ASP.NET Core 2.2 появилась новая модель хостинга: в процессе, когда приложение ASP.NET Core запускается непосредственно в пуле приложений, в результате получается просто w3wp.exe.
Длинный и короткий, наличие или отсутствиеИз этих процессов зависит, что вы делаете.Если вы используете IIS в любой форме или в любой форме, w3wp.exe неизбежен.
FWIW, "w3wp" - это акрионим "World Wide Web Worker Process".Это, вероятно, делает более очевидным, почему он вездесущ в сценариях размещения IIS: это буквально рабочий процесс, а не веб-запросы.
Что касается более конкретной проблемы, которая, по сути, сводится к исчерпаниюпамять, которая на самом деле не имеет ничего общего с чем-то, кроме как распределение памяти.Пороговое значение 2,6 ГБ кричит 32-битное: максимальное выделение 4 ГБ, и некоторая часть этого посвящена накладным расходам процесса.Тем не менее, нет причин, по которым вы должны работать 32-битным.Если ваш пул приложений работает в 64-битном режиме, вы теоретически можете получить доступ к большему объему памяти, чем вам когда-либо понадобится.Короче говоря, нет ничего присущего IIS или процессу w3wp.exe, который блокирует только 2,6 ГБ выделяемой памяти.В игре должно быть что-то еще.