IDuplexSession.CloseOutputSession Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Завершает исходящий сеанс, что означает, что этой конечной точкой больше не будет отправлено ни одного сообщения по каналу, связанному с сеансом.
Перегрузки
CloseOutputSession() |
Завершает исходящий сеанс, что означает, что этой конечной точкой больше не будет отправлено ни одного сообщения по каналу, связанному с сеансом. |
CloseOutputSession(TimeSpan) |
Завершает исходящий сеанс, что означает, что этой конечной точкой больше не будет отправлено ни одного сообщения по каналу, связанному с сеансом, в течение заданного промежутка времени. |
CloseOutputSession()
- Исходный код:
- IDuplexSession.cs
Завершает исходящий сеанс, что означает, что этой конечной точкой больше не будет отправлено ни одного сообщения по каналу, связанному с сеансом.
public:
void CloseOutputSession();
public void CloseOutputSession ();
abstract member CloseOutputSession : unit -> unit
Public Sub CloseOutputSession ()
Комментарии
Вызов CloseOutputSession() сигнализирует другой стороне сеанса о том, что он должен вернуться null
от любых невыполненных или последующих вызовов, выполненных в Receive.
CloseOutputSession является идемпотентным, поэтому вызов его снова не имеет никакого эффекта.
Завершение исходящего сеанса не влияет на входящий сеанс, и поэтому при этом не возникает никаких заявлений о способности получать сообщения в сеансе, связанном с входящим каналом.
Примечания для тех, кто реализует этот метод
CloseOutputSession() — метод сеанса, который может взаимодействовать с объектом IDuplexSessionChannel, владеющим сеансом. В частности, если время существования сеанса скомпоновано со временем существования канала (как в случае с протоколом TCP и надежным сеансом и безопасностью), справедливо следующее.
Если CloseOutputSession() вызывается до Close() вызова в канале, Close() следует дождаться CloseOutputSession() завершения.
Если канал находится в Created состоянии или Opening , CloseOutputSession() следует вызвать исключение InvalidOperationException.
Если канал находится в Faulted состоянии , CloseOutputSession() следует вызвать исключение CommunicationObjectFaultedException.
Если вызывает исключение, канал должен ошибаться CloseOutputSession() .
Реализация Close() в канале должна вызвать CloseOutputSession() , а затем проверить, возвращает Receive()
null
, что указывает, что CloseOutputSession() был вызван с другой стороны сеанса.
Применяется к
CloseOutputSession(TimeSpan)
- Исходный код:
- IDuplexSession.cs
Завершает исходящий сеанс, что означает, что этой конечной точкой больше не будет отправлено ни одного сообщения по каналу, связанному с сеансом, в течение заданного промежутка времени.
public:
void CloseOutputSession(TimeSpan timeout);
public void CloseOutputSession (TimeSpan timeout);
abstract member CloseOutputSession : TimeSpan -> unit
Public Sub CloseOutputSession (timeout As TimeSpan)
Параметры
- timeout
- TimeSpan
Объект TimeSpan, который задает промежуток времени, в течение которого операция должна завершиться.
Комментарии
Вызов CloseOutputSession(TimeSpan) сигнализирует другой стороне сеанса о том, что он должен вернуться null
от любых невыполненных или последующих вызовов, выполненных в Receive.
CloseOutputSession является идемпотентным, поэтому вызов его снова не имеет никакого эффекта.
Завершение исходящего сеанса не влияет на входящий сеанс, и поэтому при этом не возникает никаких заявлений о способности получать сообщения в сеансе, связанном с входящим каналом.
Примечания для тех, кто реализует этот метод
CloseOutputSession() — метод сеанса, который может взаимодействовать с объектом IDuplexSessionChannel, владеющим сеансом. В частности, если время существования сеанса скомпоновано со временем существования канала (как в случае с протоколом TCP и надежным сеансом и безопасностью), справедливо следующее.
Если CloseOutputSession() вызывается до Close() вызова в канале, Close() следует дождаться CloseOutputSession() завершения.
Если канал находится в Created состоянии или Opening , CloseOutputSession() следует вызвать исключение InvalidOperationException.
Если канал находится в Faulted состоянии , CloseOutputSession() следует вызвать исключение CommunicationObjectFaultedException.
Если вызывает исключение, канал должен ошибаться CloseOutputSession() .
Реализация Close() в канале должна вызвать CloseOutputSession() , а затем проверить, возвращает Receive()
null
, указывая, что CloseOutputSession() был вызван с другой стороны сеанса.