У нас есть обработчик C# ASHX, который вызывает неуправляемую библиотеку C с помощью [DllImport].Бесконечная петля - выполнение ASP.NET не синхронизировано
В некоторых случаях неуправляемая библиотека C застревала в бесконечном цикле, однако ASP.NET не прерывает ее, в результате чего WorkerProcess w3wp.exe потребляет 100% процессорное ядро бесконечно.
В другом простом тестовом примере, где мы добавляем бесконечный цикл C# (while (true) {}) внутри обработчика C# ASHX, IIS завершает выполнение, как ожидалось.
Похоже, что IIS не принимает во внимание выполнение неуправляемого кода через [DllImport] в свою логику executeTimeout.
Это по дизайну? Как нам обойти это, чтобы IIS прекратил выполнение?
IFAIK ASP.Net использует Thread.Abort для завершения запросов, и этот метод работает только для управляемого кода –