Как SQL Server и IIS обрабатывают разорванные соединения? - PullRequest
4 голосов
/ 01 апреля 2011

В приложении ASP.NET, что происходит, если возникает ошибка при возврате результатов хранимой процедуры.

Например:

Situation

На диаграмме выше приложение ASP.NET вызывает хранимую процедуру для получения некоторых данных, хранимая процедура выполняется и сервер SQLпытается отправить результаты обратно.

Но что, если IIS недоступен, что делает сервер SQL?

  • Пытается ли SQL Server отправлять результаты снова и снова?
  • Есть ли время ожидания?
  • Сервер где-то хранит данные?
  • Продолжает ли IIS отправлять запрос снова и снова?

Ответы [ 2 ]

3 голосов
/ 01 апреля 2011

Чтобы ответить на ваши вопросы:

  • Пытается ли SQL Server отправлять результаты снова и снова?

    Нет, если соединение между IIS и сервером SQL прервалось, тогда SQL завершит работу и зарегистрирует ошибку.

  • Есть ли время ожидания?

    Клиент SQL в вашем приложении ASP.NET сгенерирует исключение либо по причине истечения времени ожидания запроса, либо по причине разрыва соединения.

  • Хранит ли сервер где-нибудь данные?

    Если хранимая процедура явно использует временные таблицы, то с задачей могут быть связаны некоторые данные, которые SQL будет очищать.

  • Продолжает ли IIS отправлять запрос снова и снова?

    Нет, если вы не напишите код для этого.

2 голосов
/ 01 апреля 2011

SQL Server регистрирует ошибку в потоке TDS, и пакет завершается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...