Ограничение в IISExpress на соединения с БД - PullRequest
0 голосов
/ 01 июня 2018

Разработка простого приложения MVC5, которое подключается к SQL Server 2012 и получает некоторые данные.На домашней странице приложения есть JavaScript, который на

setInterval('myFunction()', 10000);

с помощью вызова AJAX связывает мою модель с последними изменениями в базе данных.Когда приложение развертывается на сервере, оно работает как положено в течение нескольких дней (без ошибок в журнале), но во время разработки, когда приложение размещено в IISExpress, я получаю сообщение об ошибке:

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

Я гуглил проблему в течение нескольких часов, и все указывает на утечку соединения SQL или DataReader, которые не закрывались должным образом,но с помощью простого оператора select я вижу только одно или два соединения, которые открыты одновременно (и они своевременно освобождаются)

DECLARE  @sp_who2 TABLE(SPID INT,Status VARCHAR(255),
  [Login]  VARCHAR(255),HostName  VARCHAR(255), 
  BlkBy  VARCHAR(255),DBName  VARCHAR(255), 
  Command VARCHAR(255),CPUTime INT, 
  DiskIO INT,LastBatch VARCHAR(255), 
  ProgramName VARCHAR(255),SPID2 INT, 
  REQUESTID INT) 
INSERT INTO @sp_who2 EXEC sp_who2
SELECT      * 
FROM       @sp_who2
WHERE       ProgramName = 'myProgram'
ORDER BY    DBName ASC

Я несколько раз проверял код и вижу, что соединения и устройства чтения везде закрываются и располагаются должным образом.Что еще может быть не так?Или это просто некоторые ограничения в IIS Express ???

ОБНОВЛЕНИЕ Моя строка подключения выглядит следующим образом:

connectionString="Data Source=MyDBServer;Database=myDatabase;Trusted_Connection=Yes;Max Pool Size=100; Connection Timeout=30;Application Name=myApplication"
...