IIS 8.5 в Windows Server 2012 R2 не может обрабатывать более одного одновременного подключения
Я в странной ситуации. Вот мой сценарий:
Я работал над проектом MVC5 Web API2, размещенным на хостинге Rackspace. Согласно диаграмме, которую я добавил, проект API - AppOne. У нас есть два источника данных, один из которых MongoDB, размещенный на сервере Linux с использованием драйвера MongoDB 1.10.0.62. Другим источником данных является БД MySQL того же хостинга Rackspace. Теперь у меня есть клиентское приложение ClientApp на моей диаграмме. Из ClientAPp я извлекаю данные, используя API-интерфейсы AppOne. Он отлично работает в целях тестирования. На этом этапе у меня есть
- MongoDB в Linux
- MySQL DB в Rackspace
- AppOne размещается в Rackspace (API Project)
- Мое клиентское приложение с именем ClientApp, размещенное в Rackspace
Вышеуказанная настройка отлично работает для меня. Компания, в которой я работал, решила перенести AppOne (API Project) на собственный сервер Windows. Так что теперь у меня есть Windows Server 2012 R2 с IIS8.5 для размещения AppOne(API Project). К вашему сведению, сервер Windows установлен с 16 ГБ ОЗУ и SDD в качестве хранилища. Так что на этом этапе у меня есть
- MongoDB в Linux(как и раньше)
- MySQL DB в Rackspace(как и раньше)
- AppOne размещен на Windows Server (ранее размещался на Rackspace, а теперь при подключении к базе данных MySQL я использую IP-адреса, предоставленные Rackspace для подключения к базе данных MySQL)
Проблема: на этом этапе, если я вызываю API с одного компьютера, он работает как положено. API-интерфейсы должны возвращать данные JSON, и он возвращает их хорошо. Но если я вызываю API более чем на один компьютер одновременно, он возвращает данные только на одну машину, а все остальные получают ошибку http 500 без каких-либо подробностей об ошибке.
Обратите внимание, что я изменил лимит запросов, чтобы разрешить бесконечный в консоли управления IIS8.5. Но это все та же проблема.
Я надеюсь, что смогу описать мою проблему и, пожалуйста, ребята, если у кого-нибудь есть идеи, дайте мне знать.
1 ответ
Включить подробный режим ошибок на веб-сервере. Это позволит содержимому и описанию возникающей ошибки отфильтровать клиента API. Посмотрите, что говорит ошибка, и это даст вам лучшее представление.
В качестве альтернативы, просмотрите журнал событий приложения (start run -> eventvwr.msc) и найдите Предупреждения с источником ASP.NET - ошибки 500 регистрируются таким образом на веб-сервере iis - что за ошибка происходит?
Убедитесь, что вы установили в web.config веб-сайта webapi на IIS - когда режим отладки установлен в true, он позволяет перекомпилировать на стороне сервера каждый раз, когда устанавливается соединение с веб-сайтом (таким образом, блокируя файлы от доступа через любое другое клиентское соединение),