Я попробовал то же самое на моей студии Viual и локальном IIS. И рабочий prceoss прекращается, когда я закрываю визуальную студию.
Итак, просмотренный просмотрщик событий, но в то время ничего не регистрировалось. Затем я создал отладочную диагностику c для инструмента точки останова ntdll! NtTerminateProcess. На этот раз сгенерирован дамп.
Вот полная трассировка стека для всех потоков
. 0 Id: 688.415c Suspend: 1 Teb: 00000039`02299000 Unfrozen
# Child-SP RetAddr Call Site
00 00000039`0247f938 00007ffb`15c6a954 ntdll!NtTerminateProcess
01 00000039`0247f940 00007ffb`1486cd8a ntdll!RtlExitUserProcess+0x54
02 00000039`0247f970 00007ffb`147da245 kernel32!ExitProcessImplementation+0xa
03 00000039`0247f9a0 00007ffb`147da8b5 msvcrt!_crtExitProcess+0x15
04 00000039`0247f9d0 00007ff7`79ca3214 msvcrt!doexit+0x171
05 00000039`0247fa40 00007ffb`14867bd4 w3wp!__wmainCRTStartup+0x164
06 00000039`0247fa80 00007ffb`15c6ced1 kernel32!BaseThreadInitThunk+0x14
07 00000039`0247fab0 00000000`00000000 ntdll!RtlUserThreadStart+0x21
1 Id: 688.afc Suspend: 1 Teb: 00000039`022a3000 Unfrozen
# Child-SP RetAddr Call Site
00 00000039`026ff848 00007ffb`15c34060 ntdll!NtWaitForWorkViaWorkerFactory+0x14
01 00000039`026ff850 00007ffb`14867bd4 ntdll!TppWorkerThread+0x300
02 00000039`026ffc10 00007ffb`15c6ced1 kernel32!BaseThreadInitThunk+0x14
03 00000039`026ffc40 00000000`00000000 ntdll!RtlUserThreadStart+0x21
2 Id: 688.3f78 Suspend: 1 Teb: 00000039`022a5000 Unfrozen
# Child-SP RetAddr Call Site
00 00000039`0277f858 00007ffb`13266951 ntdll!NtDelayExecution+0x14
01 00000039`0277f860 00007ffb`0aba6bdb KERNELBASE!SleepEx+0xa1
02 00000039`0277f900 00007ffb`0ab748e4 winhttp!SafeTerminateDll+0xcb
03 00000039`0277f940 00007ffb`15c305ac winhttp!FailFastThreadpoolWaitCallback<&SafeTerminateDll>+0x14
04 00000039`0277f980 00007ffb`15c341c2 ntdll!TppExecuteWaitCallback+0xa4
05 00000039`0277f9d0 00007ffb`14867bd4 ntdll!TppWorkerThread+0x462
06 00000039`0277fd90 00007ffb`15c6ced1 kernel32!BaseThreadInitThunk+0x14
07 00000039`0277fdc0 00000000`00000000 ntdll!RtlUserThreadStart+0x21
3 Id: 688.748 Suspend: 1 Teb: 00000039`022b9000 Unfrozen
# Child-SP RetAddr Call Site
00 00000039`02bff848 00007ffb`15c34060 ntdll!NtWaitForWorkViaWorkerFactory+0x14
01 00000039`02bff850 00007ffb`14867bd4 ntdll!TppWorkerThread+0x300
02 00000039`02bffc10 00007ffb`15c6ced1 kernel32!BaseThreadInitThunk+0x14
03 00000039`02bffc40 00000000`00000000 ntdll!RtlUserThreadStart+0x21
4 Id: 688.3b38 Suspend: 1 Teb: 00000039`022bd000 Unfrozen
# Child-SP RetAddr Call Site
00 00000039`02cffad8 00007ffb`132784c3 ntdll!NtRemoveIoCompletion+0x14
01 00000039`02cffae0 00007ffa`b8a238e2 KERNELBASE!GetQueuedCompletionStatus+0x53
02 00000039`02cffb40 00000000`00000000 <Unloaded_aspnetcore.dll>+0x38e2
5 Id: 688.3cf8 Suspend: 1 Teb: 00000039`022c9000 Unfrozen
# Child-SP RetAddr Call Site
00 00000039`024ff788 00007ffb`15c34060 ntdll!NtWaitForWorkViaWorkerFactory+0x14
01 00000039`024ff790 00007ffb`14867bd4 ntdll!TppWorkerThread+0x300
02 00000039`024ffb50 00007ffb`15c6ced1 kernel32!BaseThreadInitThunk+0x14
03 00000039`024ffb80 00000000`00000000 ntdll!RtlUserThreadStart+0x21
Вы можете видеть, что когда вы закрываете Visual Studio, она просто вызывает функцию безопасного завершения и прекратить процесс. Никакого странного поведения или исключения не генерируется. Так и должно быть по замыслу.
Если вы go обращаетесь к диспетчеру IIS, вы увидите, что пул приложений будет остановлен при закрытии VS.
Если вы не хотите, чтобы Visual Studio повредил ваш рабочий процесс IIS. Затем отладьте его в другой среде профиля и опубликуйте sh версию выпуска на локальном IIS.