CommunicationObject.BeginClose Метод

Определение

Начинает асинхронную операцию закрытия объекта связи.Begins an asynchronous operation to close a communication object.

Перегрузки

BeginClose(AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи.Begins an asynchronous operation to close a communication object.

BeginClose(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи с заданным временем ожидания.Begins an asynchronous operation to close a communication object with a specified timeout.

BeginClose(AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи.Begins an asynchronous operation to close a communication 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, принимающий уведомление о завершении асинхронной операции закрытия.The AsyncCallback delegate that receives notification of the completion of the asynchronous close operation.

state
Object

Задаваемый приложением объект, который содержит сведения о состоянии, связанные с асинхронной операцией закрытия.An object, specified by the application, that contains state information associated with the asynchronous close operation.

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

Объект IAsyncResult, который ссылается на асинхронную операцию закрытия.The IAsyncResult that references the asynchronous close operation.

Реализации

Исключения

Объект связи не находится в состоянии Opened или Opening и не может быть изменен.The communication object is not in a Opened or Opening state and cannot be modified.

Объект связи находится в состоянии Closing или Closed и не может быть изменен.The communication object is in a Closing or Closed state and cannot be modified.

Объект связи находится в состоянии Faulted и не может быть изменен.The communication object is in a Faulted state and cannot be modified.

Принятый по умолчанию интервал времени, выделенный для операции, истек до того, как операция была завершена.The default interval of time that was allotted for the operation was exceeded before the operation was completed.

Комментарии

Этот метод вызывает верный переход объекта CommunicationObject из любого состояния, отличного от состояния Closed, в состояние Closed в течение принятого по умолчанию интервала времени.This method causes the CommunicationObject to gracefully transition from any state, other than the Closed state, into the Closed state within a default interval of time. Метод BeginClose позволяет завершить всю незавершенную работу перед возвратом.The BeginClose method allows any unfinished work to be completed before returning. Например, завершить отправку всех сообщений, находящихся в буфере.For example, finish sending any buffered messages). Если объект связи изначально находится в состоянии OnBeginOpen(TimeSpan, AsyncCallback, Object), этот метод вызывает метод Opened.This method calls OnBeginOpen(TimeSpan, AsyncCallback, Object) if the communication object was initially in the Opened state.

BeginClose(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи с заданным временем ожидания.Begins an asynchronous operation to close a communication object with a specified timeout.

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, которое задает время, выделенное для завершения операции закрытия до истечения времени ожидания.The TimeSpan that specifies how long the close operation has to complete before timing out.

callback
AsyncCallback

Делегат AsyncCallback, принимающий уведомление о завершении асинхронной операции закрытия.The AsyncCallback delegate that receives notification of the completion of the asynchronous close operation.

state
Object

Задаваемый приложением объект, который содержит сведения о состоянии, связанные с асинхронной операцией закрытия.An object, specified by the application, that contains state information associated with the asynchronous close operation.

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

Объект IAsyncResult, который ссылается на асинхронную операцию закрытия.The IAsyncResult that references the asynchronous close operation.

Реализации

Исключения

Объект связи не находится в состоянии Opened или Opening и не может быть изменен.The communication object is not in a Opened or Opening state and cannot be modified.

Объект связи находится в состоянии Closing или Closed и не может быть изменен.The communication object is in a Closing or Closed state and cannot be modified.

Объект связи находится в состоянии Faulted и не может быть изменен.The communication object is in a Faulted state and cannot be modified.

Принятый по умолчанию интервал времени, выделенный для операции, истек до того, как операция была завершена.The default interval of time that was allotted for the operation was exceeded before the operation was completed.

Комментарии

Этот метод вызывает верный переход объекта CommunicationObject из любого состояния, отличного от состояния Closed, в состояние Closed в течение заданного интервала времени.This method causes the CommunicationObject to gracefully transition from any state, other than the Closed state, into the Closed state with in a specified interval of time. Метод BeginClose позволяет завершить всю незавершенную работу перед возвратом.The BeginClose method allows any unfinished work to be completed before returning. Например, завершить отправку всех сообщений, находящихся в буфере.For example, finish sending any buffered messages). Если объект связи изначально находится в состоянии OnBeginClose(TimeSpan, AsyncCallback, Object), этот метод вызывает метод Opened.This method calls OnBeginClose(TimeSpan, AsyncCallback, Object) if the communication object was initially in the Opened state.

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