ICommunicationObject.BeginOpen Метод

Определение

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

Перегрузки

BeginOpen(AsyncCallback, Object)

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

BeginOpen(TimeSpan, AsyncCallback, Object)

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

Комментарии

Метод BeginOpen приводит ICommunicationObject к входу в Opening состояние, в котором он остается, пока не завершится переход в состояние или завершится сбоем Opened .

Имеются версии с явно заданным временем ожидания и без него.

BeginOpen(AsyncCallback, Object)

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

public:
 IAsyncResult ^ BeginOpen(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginOpen (AsyncCallback callback, object state);
abstract member BeginOpen : AsyncCallback * obj -> IAsyncResult
Public Function BeginOpen (callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

callback
AsyncCallback

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

state
Object

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

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

IAsyncResult

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

Исключения

Не удалось открыть объект ICommunicationObject, и он перешел в состояние Faulted.

Время ожидания открытия по умолчанию истекло до перехода объекта ICommunicationObject в состояние Opened, и он перешел в состояние Faulted.

Комментарии

При создании экземпляра ICommunicationObject он начинается в Created состоянии. Объект, находящийся в состоянии Created, можно настраивать (например, задавать свойства или регистрировать события), но все еще нельзя использовать для отправки или приема сообщений. Метод BeginOpen приводит ICommunicationObject к входу в Opening состояние, в котором он остается до тех пор, пока операция открытия не завершится успешно, время ожидания операции открытия или сбой, и объект становится неисправным или ICommunicationObject прерван.

Opened В состоянии ICommunicationObject можно использовать (например, сообщения могут быть получены), но он больше не настраивается.

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

BeginOpen(TimeSpan, AsyncCallback, Object)

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

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

Параметры

timeout
TimeSpan

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

callback
AsyncCallback

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

state
Object

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

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

IAsyncResult

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

Исключения

Не удалось открыть объект ICommunicationObject, и он перешел в состояние Faulted.

Заданное время ожидания истекло до перехода объекта ICommunicationObject в состояние Opened, и он перешел в состояние Faulted.

Комментарии

При создании экземпляра ICommunicationObject он начинается в Created состоянии. Объект, находящийся в состоянии Created, можно настраивать (например, задавать свойства или регистрировать события), но все еще нельзя использовать для отправки или приема сообщений. Метод Open приводит ICommunicationObject к входу в Opening состояние, в котором он остается до тех пор, пока операция открытия не завершится успешно, время ожидания операции открытия или сбой, и объект становится неисправным или ICommunicationObject прерван.

Opened В состоянии ICommunicationObject можно использовать (например, сообщения могут быть получены), но он больше не настраивается.

Примечания для тех, кто реализует этот метод

Операция должна вызывать исключение TimeoutException , если указанное timeout превышено.

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