CommunicationObject.BeginClose Метод

Определение

Начинает асинхронную операцию закрытия объекта связи.

Перегрузки

BeginClose(AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи.

BeginClose(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи с заданным временем ожидания.

BeginClose(AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи.

public:
 virtual IAsyncResult ^ BeginClose(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginClose (AsyncCallback callback, object state);
abstract member BeginClose : AsyncCallback * obj -> IAsyncResult
override this.BeginClose : AsyncCallback * obj -> IAsyncResult
Public Function BeginClose (callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

callback
AsyncCallback

Делегат AsyncCallback, принимающий уведомление о завершении асинхронной операции закрытия.

state
Object

Задаваемый приложением объект, который содержит сведения о состоянии, связанные с асинхронной операцией закрытия.

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

IAsyncResult

Объект IAsyncResult, который ссылается на асинхронную операцию закрытия.

Реализации

Исключения

Объект связи не находится в состоянии Opened или Opening и не может быть изменен.

Объект связи находится в состоянии Closing или Closed и не может быть изменен.

Объект связи находится в состоянии Faulted и не может быть изменен.

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

Комментарии

Этот метод вызывает верный переход объекта CommunicationObject из любого состояния, отличного от состояния Closed, в состояние Closed в течение принятого по умолчанию интервала времени. Метод BeginClose позволяет завершить всю незавершенную работу перед возвратом. Например, завершить отправку всех сообщений, находящихся в буфере. Если объект связи изначально находится в состоянии OnBeginOpen(TimeSpan, AsyncCallback, Object), этот метод вызывает метод Opened.

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

BeginClose(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи с заданным временем ожидания.

public:
 virtual IAsyncResult ^ BeginClose(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginClose (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginClose : TimeSpan * AsyncCallback * obj -> IAsyncResult
override this.BeginClose : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginClose (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

timeout
TimeSpan

Значение TimeSpan, которое задает время, выделенное для завершения операции закрытия до истечения времени ожидания.

callback
AsyncCallback

Делегат AsyncCallback, принимающий уведомление о завершении асинхронной операции закрытия.

state
Object

Задаваемый приложением объект, который содержит сведения о состоянии, связанные с асинхронной операцией закрытия.

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

IAsyncResult

Объект IAsyncResult, который ссылается на асинхронную операцию закрытия.

Реализации

Исключения

Объект связи не находится в состоянии Opened или Opening и не может быть изменен.

Объект связи находится в состоянии Closing или Closed и не может быть изменен.

Объект связи находится в состоянии Faulted и не может быть изменен.

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

Комментарии

Этот метод вызывает верный переход объекта CommunicationObject из любого состояния, отличного от состояния Closed, в состояние Closed в течение заданного интервала времени. Метод BeginClose позволяет завершить всю незавершенную работу перед возвратом. Например, завершить отправку всех сообщений, находящихся в буфере. Если объект связи изначально находится в состоянии OnBeginClose(TimeSpan, AsyncCallback, Object), этот метод вызывает метод Opened.

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