Я настроил запросы на инициализацию приложения для своего приложения Web API так, чтобы при повторном запуске пула приложений возникали определенные конечные точки для загрузки Entity Framework и т. Д. В новый процесс. Я вижу эти запросы успешно в моем журнале API:
636603400963248247T16P14184 26/04/2018 11: 48: 16.324 - Запрос: GET
http://localhost/mywebapi/api/v2/warmup/contact/some-guid-value
Host: localhost
Пользователь-агент: прогрев инициализации приложения IIS
Длина контента: 0
636603401013021709T8P14184 26/04/2018 11: 48: 30,297 (8995 мс) -
Ответ: 200 GET
http://localhost/mywebapi/api/v2/warmup/contact/some-guid-value
Тип контента: приложение / JSON; кодировка = UTF-8 * +1010 *
Однако всякий раз, когда пул приложений перезагружается и эти запросы выполняются, я получаю две записи в журнале событий следующим образом:
Сообщение об ошибке: во время связи с пультом произошла ошибка
хост. Код ошибки: 0x80070032.
Тип исключения: System.Web.HttpException
Источник исключения: System.Web
Трассировка стека: в
System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError (Int32
результат, Boolean throwOnDisconnect) в
System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush () в
System.Web.HttpResponse.Flush (Boolean finalFlush, Boolean async) в
System.Web.HttpWriter.WriteFromStream (данные байта [], смещение Int32, Int32
size) в System.IO.Stream. <> c.b__46_0 (Объект)
в System.Threading.Tasks.Task 1.InnerInvoke() at
System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task) at System.IO.Stream.EndWrite(IAsyncResult asyncResult) at
System.Threading.Tasks.TaskFactory
1.FromAsyncCoreLogic (IAsyncResult
iar, Func 2 endFunction, Action
1 endAction, обещание Task`1, Boolean
requiresSynchronization)
--- Конец стека трассировки из предыдущего места, где было сгенерировано исключение --- в
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () в
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Task
задача) в
System.Web.Http.WebHost.HttpControllerHandler.d__15.MoveNext ()
Внутреннее исключение: запрос не поддерживается. (Исключение из
HRESULT: 0x80070032)
Тип исключения: System.Runtime.InteropServices.COMException
Источник исключений: System.Web
Трассировка стека:
Время записи в журнале событий, похоже, совпадает со временем запроса и ответа последнего настроенного вызова инициализации приложения.
Это происходит при запуске веб-сайта как на локальном сервере разработки Windows 10, так и на серверах Windows 2012.
Кто-нибудь знает, почему регистрируются эти ошибки (учитывая, что запросы на прогрев, кажется, выполняются успешно) и как их можно избежать?