IDuplexSession.CloseOutputSession Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Kończy sesję wychodzącą, która wskazuje, że żadne komunikaty nie będą wysyłane z tego punktu końcowego w kanale skojarzonym z sesją.
Przeciążenia
CloseOutputSession() |
Kończy sesję wychodzącą, która wskazuje, że żadne komunikaty nie będą wysyłane z tego punktu końcowego w kanale skojarzonym z sesją. |
CloseOutputSession(TimeSpan) |
Kończy sesję wychodzącą, która wskazuje, że nie będzie wysyłanych z tego punktu końcowego żadnych komunikatów w kanale skojarzonym z sesją w określonym przedziale czasu. |
CloseOutputSession()
- Źródło:
- IDuplexSession.cs
- Źródło:
- IDuplexSession.cs
Kończy sesję wychodzącą, która wskazuje, że żadne komunikaty nie będą wysyłane z tego punktu końcowego w kanale skojarzonym z sesją.
public:
void CloseOutputSession();
public void CloseOutputSession ();
abstract member CloseOutputSession : unit -> unit
Public Sub CloseOutputSession ()
Uwagi
Wywoływanie CloseOutputSession() sygnałów po drugiej stronie sesji, które powinny zostać zwrócone null
z zaległych lub kolejnych wywołań do .Receive
CloseOutputSession jest idempotentna, więc wywołanie go ponownie nie ma wpływu.
Zakończenie sesji wychodzącej nie ma wpływu na sesję przychodzącą, dlatego nie zawiera instrukcji dotyczących możliwości odbierania komunikatów w sesji skojarzonej z kanałem wejściowym.
Uwagi dotyczące implementowania
CloseOutputSession() to metoda sesji, która może wchodzić w interakcje z IDuplexSessionChannel sesją będącą właścicielem sesji. W szczególności, jeśli okres istnienia sesji jest zestawiony z okresem istnienia kanału (tak jak w przypadku protokołu TCP i niezawodnej sesji i zabezpieczeń):
Jeśli CloseOutputSession() element jest wywoływany przed Close() wywołaniem w kanale, Close() powinien poczekać na CloseOutputSession() zakończenie.
Jeśli kanał jest w Created stanie lub Opening , CloseOutputSession() powinien zgłosić wartość InvalidOperationException.
Jeśli kanał jest w Faulted stanie , CloseOutputSession() powinien zgłosić wartość CommunicationObjectFaultedException.
W przypadku CloseOutputSession() zgłoszenia kanał powinien zostać uszkodzony.
Implementacja kanału Close() powinna wywołać metodę CloseOutputSession() , a następnie sprawdzić, czy Receive() zwraca
null
wartość , która wskazuje, że CloseOutputSession() została wywołana z drugiej strony sesji.
Dotyczy
CloseOutputSession(TimeSpan)
- Źródło:
- IDuplexSession.cs
- Źródło:
- IDuplexSession.cs
Kończy sesję wychodzącą, która wskazuje, że nie będzie wysyłanych z tego punktu końcowego żadnych komunikatów w kanale skojarzonym z sesją w określonym przedziale czasu.
public:
void CloseOutputSession(TimeSpan timeout);
public void CloseOutputSession (TimeSpan timeout);
abstract member CloseOutputSession : TimeSpan -> unit
Public Sub CloseOutputSession (timeout As TimeSpan)
Parametry
Uwagi
Wywoływanie CloseOutputSession(TimeSpan) sygnałów po drugiej stronie sesji, które powinny zostać zwrócone null
z zaległych lub kolejnych wywołań do .Receive
CloseOutputSession jest idempotentna, więc wywołanie go ponownie nie ma wpływu.
Zakończenie sesji wychodzącej nie ma wpływu na sesję przychodzącą, dlatego nie zawiera instrukcji dotyczących możliwości odbierania komunikatów w sesji skojarzonej z kanałem wejściowym.
Uwagi dotyczące implementowania
CloseOutputSession() to metoda sesji, która może wchodzić w interakcje z IDuplexSessionChannel sesją będącą właścicielem sesji. W szczególności, jeśli okres istnienia sesji jest zestawiony z okresem istnienia kanału (tak jak w przypadku protokołu TCP i niezawodnej sesji i zabezpieczeń):
Jeśli CloseOutputSession() element jest wywoływany przed Close() wywołaniem w kanale, Close() powinien poczekać na CloseOutputSession() zakończenie.
Jeśli kanał jest w Created stanie lub Opening , CloseOutputSession() powinien zgłosić wartość InvalidOperationException.
Jeśli kanał jest w Faulted stanie , CloseOutputSession() powinien zgłosić wartość CommunicationObjectFaultedException.
W przypadku CloseOutputSession() zgłoszenia kanał powinien zostać uszkodzony.
Implementacja kanału Close() powinna wywołać metodę CloseOutputSession() , a następnie sprawdzić, czy Receive() zwraca
null
wartość , wskazującą, że CloseOutputSession() została wywołana z drugiej strony sesji.