Поделиться через


SqlConnection.OpenAsync(CancellationToken) Метод

Определение

Асинхронная версия Open(), которая открывает соединение с базой данных с параметрами свойства, указанными в строке ConnectionString. Чтобы запросить отмену операции до истечения времени ожидания соединения, можно использовать токен отмены. Исключения будут распространяться с помощью возвращаемой задачи. Если время ожидания соединения истекло без успешного подключения, возвращаемая задача будет помечена как сбойная с исключением. Реализация возвращает задачу без блокировки вызывающего потока как для соединений, помещенных в пул, так и соединений вне пула.

public:
 override System::Threading::Tasks::Task ^ OpenAsync(System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task OpenAsync (System.Threading.CancellationToken cancellationToken);
override this.OpenAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function OpenAsync (cancellationToken As CancellationToken) As Task

Параметры

cancellationToken
CancellationToken

Инструкция отмены.

Возвращаемое значение

Задача, представляющая асинхронную операцию.

Исключения

Вызов OpenAsync(CancellationToken) более одного раза для того же экземпляра до завершения задачи.

Context Connection=true задается в строке подключения.

Подключение не было доступно из пула подключений до истечения времени ожидания подключения.

Ошибка, возвращенная SQL Server, которая произошла при открытии соединения.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

После вызова OpenAsyncдолжен State возвращать Connecting , пока возвращенное Task не будет завершено. Затем, если подключение прошло успешно, State необходимо вернуть .Open Если подключение завершается сбоем, State должен возвращать Closed.

Вызов будет Close пытаться отменить или закрыть соответствующий OpenAsync вызов.

Дополнительные сведения об асинхронном программировании в поставщике данных платформа .NET Framework для SQL Server см. в разделе Асинхронное программирование.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Open().

Применяется к

См. также раздел