IDuplexSession.CloseOutputSession Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengakhiri sesi keluar yang menunjukkan bahwa tidak ada lagi pesan yang akan dikirim dari titik akhir ini pada saluran yang terkait dengan sesi.
Overload
CloseOutputSession() |
Mengakhiri sesi keluar yang menunjukkan bahwa tidak ada lagi pesan yang akan dikirim dari titik akhir ini pada saluran yang terkait dengan sesi. |
CloseOutputSession(TimeSpan) |
Mengakhiri sesi keluar yang menunjukkan bahwa tidak ada lagi pesan yang akan dikirim dari titik akhir ini pada saluran yang terkait dengan sesi dalam interval waktu yang ditentukan. |
CloseOutputSession()
- Sumber:
- IDuplexSession.cs
Mengakhiri sesi keluar yang menunjukkan bahwa tidak ada lagi pesan yang akan dikirim dari titik akhir ini pada saluran yang terkait dengan sesi.
public:
void CloseOutputSession();
public void CloseOutputSession ();
abstract member CloseOutputSession : unit -> unit
Public Sub CloseOutputSession ()
Keterangan
Memanggil CloseOutputSession() sinyal ke sisi lain sesi bahwa ia harus kembali null
dari panggilan luar biasa atau berikutnya yang dilakukan ke Receive.
CloseOutputSession idempotensi, jadi memanggilnya lagi tidak berpengaruh.
Mengakhiri sesi keluar tidak memengaruhi sesi masuk sehingga tidak membuat pernyataan tentang kemampuan untuk menerima pesan pada sesi yang terkait dengan saluran input.
Catatan Bagi Implementer
CloseOutputSession() adalah metode sesi yang dapat berinteraksi dengan IDuplexSessionChannel yang memiliki sesi. Secara khusus, jika masa pakai sesi Anda disatukan dengan masa pakai saluran Anda (seperti halnya dengan TCP dan sesi dan keamanan yang andal):
Jika CloseOutputSession() dipanggil sebelum Close() dipanggil di saluran, Close() harus menunggu CloseOutputSession() untuk selesai.
Jika saluran berada dalam status Created atau Opening , CloseOutputSession() harus melemparkan InvalidOperationException.
Jika saluran dalam status Faulted , CloseOutputSession() harus melempar .CommunicationObjectFaultedException
Saluran harus salah jika CloseOutputSession() melempar.
Implementasi Close() pada saluran harus memanggil CloseOutputSession() dan kemudian memverifikasi bahwa Receive() mengembalikan
null
, yang menunjukkan bahwa CloseOutputSession() dipanggil dari sisi lain sesi.
Berlaku untuk
CloseOutputSession(TimeSpan)
- Sumber:
- IDuplexSession.cs
Mengakhiri sesi keluar yang menunjukkan bahwa tidak ada lagi pesan yang akan dikirim dari titik akhir ini pada saluran yang terkait dengan sesi dalam interval waktu yang ditentukan.
public:
void CloseOutputSession(TimeSpan timeout);
public void CloseOutputSession (TimeSpan timeout);
abstract member CloseOutputSession : TimeSpan -> unit
Public Sub CloseOutputSession (timeout As TimeSpan)
Parameter
Keterangan
Memanggil CloseOutputSession(TimeSpan) sinyal ke sisi lain sesi bahwa ia harus kembali null
dari panggilan luar biasa atau berikutnya yang dilakukan ke Receive.
CloseOutputSession idempotensi, jadi memanggilnya lagi tidak berpengaruh.
Mengakhiri sesi keluar tidak memengaruhi sesi masuk sehingga tidak membuat pernyataan tentang kemampuan untuk menerima pesan pada sesi yang terkait dengan saluran input.
Catatan Bagi Implementer
CloseOutputSession() adalah metode sesi yang dapat berinteraksi dengan IDuplexSessionChannel yang memiliki sesi. Secara khusus, jika masa pakai sesi Anda disatukan dengan masa pakai saluran Anda (seperti halnya dengan TCP dan sesi dan keamanan yang andal):
Jika CloseOutputSession() dipanggil sebelum Close() dipanggil di saluran, Close() harus menunggu CloseOutputSession() untuk selesai.
Jika saluran berada dalam status Created atau Opening , CloseOutputSession() harus melemparkan InvalidOperationException.
Jika saluran dalam status Faulted , CloseOutputSession() harus melempar .CommunicationObjectFaultedException
Saluran harus salah jika CloseOutputSession() melempar.
Implementasi Close() pada saluran harus memanggil CloseOutputSession() dan kemudian memverifikasi bahwa Receive() mengembalikan
null
, menunjukkan bahwa CloseOutputSession() dipanggil dari sisi lain sesi.