У меня есть веб-приложение, которое взаимодействует со службой WCF, размещенной в службе Windows. Время от времени я начинаю видеть ошибки EventLog, которые утверждают, что время ожидания запроса к службе WCF истекло через 1 минуту. Я понимаю эту ошибку (хотя почему так долго, чтобы ответить, остается загадкой). Ошибка, которая действительно смущает меня, это:
Время ожидания истекло после 00:00:00 при установлении транспортного сеанса для net.pipe: // localhost / service
Я звоню Close () на всех клиентских прокси, так что я на 99% уверен, что не осталось открытых соединений. Поэтому я думал только о том, что у меня заканчиваются соединения, поскольку MaxConnections для службы WCF установлено на 3000, а каждое веб-приложение настроено на использование 1000. Моя внутренняя реакция заключается в том, что все соединения используются, они рассчитывают время ожидания в очереди. Однако у меня нет возможности доказать это (что я знаю).
Эти вызовы должны занимать в абсолютном максимуме секунду или две (среднее значение - несколько сотен миллисекунд).
- Может кто-нибудь дать мне указатель на то, чем может быть вызвана ошибка, указанная выше?
Есть ли способ для службы WCF обслуживать неограниченное количество соединений?
2a. Если нет, каковы последствия установки максимальных соединений на что-то вроде 10000?