Странное TimeoutException в WCF - PullRequest
       17

Странное TimeoutException в WCF

1 голос
/ 26 февраля 2009

У меня есть веб-приложение, которое взаимодействует со службой WCF, размещенной в службе Windows. Время от времени я начинаю видеть ошибки EventLog, которые утверждают, что время ожидания запроса к службе WCF истекло через 1 минуту. Я понимаю эту ошибку (хотя почему так долго, чтобы ответить, остается загадкой). Ошибка, которая действительно смущает меня, это:

Время ожидания истекло после 00:00:00 при установлении транспортного сеанса для net.pipe: // localhost / service

Я звоню Close () на всех клиентских прокси, так что я на 99% уверен, что не осталось открытых соединений. Поэтому я думал только о том, что у меня заканчиваются соединения, поскольку MaxConnections для службы WCF установлено на 3000, а каждое веб-приложение настроено на использование 1000. Моя внутренняя реакция заключается в том, что все соединения используются, они рассчитывают время ожидания в очереди. Однако у меня нет возможности доказать это (что я знаю).

Эти вызовы должны занимать в абсолютном максимуме секунду или две (среднее значение - несколько сотен миллисекунд).

  1. Может кто-нибудь дать мне указатель на то, чем может быть вызвана ошибка, указанная выше?
  2. Есть ли способ для службы WCF обслуживать неограниченное количество соединений?

    2a. Если нет, каковы последствия установки максимальных соединений на что-то вроде 10000?

1 Ответ

2 голосов
/ 27 февраля 2009
  1. попробуйте включить ведение журнала WCF и посмотреть, сможете ли вы найти там что-нибудь более полезное.
  2. Нет, нет. 2а. Вы, вероятно, получите исключения, поскольку будете использовать все ресурсы (физические соединения, потоки обработчиков, память). Я также уверен, что в самой ОС есть ограничение, и оно значительно ниже, чем 10000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...