ChannelBase Kelas
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.
Menyediakan implementasi dasar untuk saluran kustom.
public ref class ChannelBase abstract : System::ServiceModel::Channels::CommunicationObject, System::ServiceModel::Channels::IChannel, System::ServiceModel::IDefaultCommunicationTimeouts
public abstract class ChannelBase : System.ServiceModel.Channels.CommunicationObject, System.ServiceModel.Channels.IChannel, System.ServiceModel.IDefaultCommunicationTimeouts
type ChannelBase = class
inherit CommunicationObject
interface IChannel
interface ICommunicationObject
interface IDefaultCommunicationTimeouts
Public MustInherit Class ChannelBase
Inherits CommunicationObject
Implements IChannel, IDefaultCommunicationTimeouts
- Warisan
- Turunan
- Penerapan
Keterangan
Penting
Metode panggilan dari kelas ini dengan data yang tidak tepercaya adalah risiko keamanan. Panggil metode dari kelas ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.
Kelas ini ChannelBase menyediakan implementasi kelas dasar abstrak dari IChannel antarmuka. Ini juga mengharuskan setiap saluran dikaitkan dengan manajer saluran. Perhatikan bahwa satu-satunya konstruktor yang tersedia untuk membuat instans ChannelBase memerlukan channelManager
parameter input.
Perubahan status dikelola dengan mewarisi dari CommunicationObject implementasi mesin status.
ChannelBase mendapatkan batas waktu komunikasi defaultnya untuk operasi buka, tutup, kirim, dan terima dari yang ChannelManagerBase terkait dengannya.
juga ChannelBase mengelola manajer untuk Anda. Selain mengekspos referensi ke manajer, kelas dasar juga memberi tahu manajer ketika saluran dibuat dan dihancurkan. Tetapi referensi ke manajer hanya baik sampai saluran dihancurkan.
Bahkan jika Anda menggunakan kelas dasar, Anda masih harus memberikan perilaku untuk membuka dan menutup saluran. Implementasi default metode ini tidak memberikan informasi yang berguna.
Anda juga harus memastikan untuk mengambil GetProperty alih setiap kali Anda menerapkan saluran.
GetProperty adalah cara yang sangat baik untuk mengomunikasikan informasi di sepanjang tumpukan saluran tanpa harus tahu saluran apa yang ada di bawah Anda, atau saluran apa di atas yang mungkin Anda lakukan kueri. Tentukan antarmuka yang dapat dikueri untuk informasi yang tersedia. Setiap kali Anda tidak mengenali argumen jenis untuk GetProperty, delegasikan ke bawah ke saluran berikutnya di tumpukan atau kembali null
jika Anda membuat saluran transportasi baru di bagian bawah tumpukan.
Konstruktor
ChannelBase(ChannelManagerBase) |
Menginisialisasi instans baru kelas ChannelBase. |
Properti
DefaultCloseTimeout |
Mendapatkan interval waktu default yang disediakan agar operasi penutupan selesai. |
DefaultOpenTimeout |
Mendapatkan interval waktu default yang disediakan agar operasi terbuka selesai. |
DefaultReceiveTimeout |
Mendapatkan interval waktu default yang disediakan agar operasi penerima selesai. |
DefaultSendTimeout |
Mendapatkan interval waktu default yang disediakan agar operasi pengiriman selesai. |
IsDisposed |
Mendapatkan nilai yang menunjukkan apakah objek komunikasi telah dibuang. (Diperoleh dari CommunicationObject) |
Manager |
Mendapatkan manajer saluran yang terkait dengan saluran saat ini. |
State |
Mendapatkan nilai yang menunjukkan status objek komunikasi saat ini. (Diperoleh dari CommunicationObject) |
ThisLock |
Mendapatkan kunci yang saling eksklusif yang melindungi instans kelas selama transisi status. (Diperoleh dari CommunicationObject) |
Metode
Abort() |
Menyebabkan objek komunikasi segera beralih dari statusnya saat ini ke status penutupan. (Diperoleh dari CommunicationObject) |
BeginClose(AsyncCallback, Object) |
Memulai operasi asinkron untuk menutup objek komunikasi. (Diperoleh dari CommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
Memulai operasi asinkron untuk menutup objek komunikasi dengan batas waktu yang ditentukan. (Diperoleh dari CommunicationObject) |
BeginOpen(AsyncCallback, Object) |
Memulai operasi asinkron untuk membuka objek komunikasi. (Diperoleh dari CommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
Memulai operasi asinkron untuk membuka objek komunikasi dalam interval waktu tertentu. (Diperoleh dari CommunicationObject) |
Close() |
Menyebabkan objek komunikasi beralih dari statusnya saat ini ke status tertutup. (Diperoleh dari CommunicationObject) |
Close(TimeSpan) |
Menyebabkan objek komunikasi beralih dari statusnya saat ini ke status tertutup dalam interval waktu tertentu. (Diperoleh dari CommunicationObject) |
EndClose(IAsyncResult) |
Menyelesaikan operasi asinkron untuk menutup objek komunikasi. (Diperoleh dari CommunicationObject) |
EndOpen(IAsyncResult) |
Menyelesaikan operasi asinkron untuk membuka objek komunikasi. (Diperoleh dari CommunicationObject) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Fault() |
Menyebabkan objek komunikasi beralih dari statusnya saat ini ke status rusak. (Diperoleh dari CommunicationObject) |
GetCommunicationObjectType() |
Mendapatkan jenis objek komunikasi. (Diperoleh dari CommunicationObject) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetProperty<T>() |
Mengembalikan objek jenis yang diminta, jika ada, dari lapisan yang sesuai di tumpukan saluran. |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
OnAbort() |
Menyisipkan pemrosesan pada objek komunikasi setelah transisi ke status penutupan karena pemanggilan operasi pembatalan sinkron. (Diperoleh dari CommunicationObject) |
OnBeginClose(TimeSpan, AsyncCallback, Object) |
Menyisipkan pemrosesan setelah objek komunikasi beralih ke status penutupan karena pemanggilan operasi penutupan asinkron. (Diperoleh dari CommunicationObject) |
OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Menyisipkan pemrosesan pada objek komunikasi setelah transisi ke status pembukaan karena pemanggilan operasi terbuka asinkron. (Diperoleh dari CommunicationObject) |
OnClose(TimeSpan) |
Menyisipkan pemrosesan pada objek komunikasi setelah transisi ke status penutupan karena pemanggilan operasi penutupan sinkron. (Diperoleh dari CommunicationObject) |
OnCloseAsync(TimeSpan) |
Menyediakan implementasi dasar untuk saluran kustom. (Diperoleh dari CommunicationObject) |
OnClosed() |
Menggunakan pelacakan diagnostik selama transisi ke status penutupan. |
OnClosing() |
Dipanggil selama transisi objek komunikasi ke status penutupan. (Diperoleh dari CommunicationObject) |
OnEndClose(IAsyncResult) |
Menyelesaikan operasi asinkron pada penutupan objek komunikasi. (Diperoleh dari CommunicationObject) |
OnEndOpen(IAsyncResult) |
Menyelesaikan operasi asinkron pada pembukaan objek komunikasi. (Diperoleh dari CommunicationObject) |
OnFaulted() |
Menyisipkan pemrosesan pada objek komunikasi setelah transisi ke status rusak karena pemanggilan operasi kesalahan sinkron. (Diperoleh dari CommunicationObject) |
OnOpen(TimeSpan) |
Menyisipkan pemrosesan pada objek komunikasi setelah transisi ke status pembukaan yang harus diselesaikan dalam interval waktu yang ditentukan. (Diperoleh dari CommunicationObject) |
OnOpenAsync(TimeSpan) |
Menyediakan implementasi dasar untuk saluran kustom. (Diperoleh dari CommunicationObject) |
OnOpened() |
Dipanggil selama transisi objek komunikasi ke status terbuka. (Diperoleh dari CommunicationObject) |
OnOpening() |
Dipanggil selama transisi objek komunikasi ke status pembukaan. (Diperoleh dari CommunicationObject) |
Open() |
Menyebabkan objek komunikasi beralih dari status yang dibuat ke status dibuka. (Diperoleh dari CommunicationObject) |
Open(TimeSpan) |
Menyebabkan objek komunikasi beralih dari status yang dibuat ke status dibuka dalam interval waktu tertentu. (Diperoleh dari CommunicationObject) |
ThrowIfDisposed() |
Melempar pengecualian jika objek komunikasi dibuang. (Diperoleh dari CommunicationObject) |
ThrowIfDisposedOrImmutable() |
Memberikan pengecualian jika objek State komunikasi properti tidak diatur ke status Created . (Diperoleh dari CommunicationObject) |
ThrowIfDisposedOrNotOpen() |
Melempar pengecualian jika objek komunikasi tidak dalam status Opened . (Diperoleh dari CommunicationObject) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Acara
Closed |
Terjadi ketika objek komunikasi beralih ke status tertutup. (Diperoleh dari CommunicationObject) |
Closing |
Terjadi ketika objek komunikasi beralih ke status penutupan. (Diperoleh dari CommunicationObject) |
Faulted |
Terjadi ketika objek komunikasi beralih ke status rusak. (Diperoleh dari CommunicationObject) |
Opened |
Terjadi ketika objek komunikasi beralih ke status terbuka. (Diperoleh dari CommunicationObject) |
Opening |
Terjadi ketika objek komunikasi beralih ke status pembukaan. (Diperoleh dari CommunicationObject) |
Implementasi Antarmuka Eksplisit
IAsyncCommunicationObject.CloseAsync(TimeSpan) |
Menyediakan implementasi dasar untuk saluran kustom. (Diperoleh dari CommunicationObject) |
IAsyncCommunicationObject.OpenAsync(TimeSpan) |
Menyediakan implementasi dasar untuk saluran kustom. (Diperoleh dari CommunicationObject) |
IDefaultCommunicationTimeouts.CloseTimeout |
Mendapatkan interval waktu setelah metode tutup, dipanggil oleh objek komunikasi, waktu habis. |
IDefaultCommunicationTimeouts.OpenTimeout |
Mendapatkan interval waktu setelah metode terbuka, dipanggil oleh objek komunikasi, waktu habis. |
IDefaultCommunicationTimeouts.ReceiveTimeout |
Mendapatkan interval waktu setelah metode terima, dipanggil oleh objek komunikasi, waktu habis. |
IDefaultCommunicationTimeouts.SendTimeout |
Mendapatkan interval waktu setelah metode kirim, dipanggil oleh objek komunikasi, waktu habis. |
Metode Ekstensi
CloseHelperAsync(ICommunicationObject, TimeSpan) |
Menyediakan implementasi dasar untuk saluran kustom. |
OpenHelperAsync(ICommunicationObject, TimeSpan) |
Menyediakan implementasi dasar untuk saluran kustom. |
GetInternalCloseTimeout(CommunicationObject) |
Menyediakan implementasi dasar untuk saluran kustom. |