Назад | Перейти на главную страницу

IIS останавливает пул приложений поддомена?

У меня есть веб-сайт с одним подобным субдоменом:

мое доменное имя - «a.com», а имя субдомена - «api.a.com». Я опубликовал услугу в поддомене. Он отлично работает с запросами Get. но перед получением запроса POST (по api) пул приложений поддомена останавливается.

Итак, я установил инструменты диагностики отладки на сервере. Я получаю 5 ошибок после каждого запроса POST в субдомен. вот результат анализа:

после поиска в Google я обнаружил, что w3wp ошибка возникает из-за утечки памяти или когда приложение пытается получить доступ к части памяти, которой не принадлежит. Я проверил весь свой код api, и не было объекта без удаления, и весь их жизненный цикл был PerWebRequest. Более того, я использовал Castle Windsor для управления жизненным циклом всех объектов, даже контроллеров.

 var container=new WindsorContainer();
        container.Register(Classes.FromAssemblyContaining<VisitorRepository>().BasedOn<IRepository>()
           .WithService.FromInterface().LifestylePerWebRequest());

        container.Register(Classes.FromAssemblyContaining<EventService>().BasedOn<IService>()
            .WithService.FromInterface().LifestylePerWebRequest());
        container.Register(Component.For<EventDatabaseContext>()
            .LifestylePerWebRequest()
            .Forward<DbContext>());

и для контроллеров:

private static void RegisterControllers(IWindsorContainer container)
    {
        container.Register(Classes.FromAssemblyContaining<VisitorController>()
            .BasedOn<ApiController>().LifestylePerWebRequest());
    }

но в качестве теста я вернул простую строку с любым кодом в Метод POST, (что вызывает сбой), но ничего не изменилось, и после отправки запроса POST в веб-API пул приложений снова остановился.

после всех этих проверок я обнаружил, что идентификаторы субдоменов (в пуле приложений) для "api.a.com" отличаются от других субдоменов, таких как "cdn.a.com" и "test.a.com". Я опубликовал свой код в одном из этих доменов, и все было в порядке.

после удаления и воссоздания идентификатора «api.a.com» были изменены, но пул приложений «api.a.com» снова остановился.

Для получения дополнительной информации на Host были установлены Plesk и созданы «a.com» и «api.a.com», а после получения панели я создал 2 других поддомена: «cdn.a.com» и «test.a. com ". Но Ведущий говорит, что это не наша вина, а ваша ошибка кода!

что ты думаешь:

  1. Важна ли личность, вызывающая проблемы?
  2. Может быть проблема с сервером или проблема с кодом?
  3. Как можно исправить эту проблему. потому что мне нужен api.a.com работает.

Некоторые мысли:

  • Исключение 0x0000005 выглядит как ошибка отказа в разрешении.
  • Все исключения относятся к модулю webdav, если он вам не нужен, попробуйте отключить его.