ServiceHostBase 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.
ServiceHostBase Memperluas kelas untuk mengimplementasikan host yang mengekspos model pemrograman kustom.
public ref class ServiceHostBase abstract : System::ServiceModel::Channels::CommunicationObject, IDisposable, System::ServiceModel::IExtensibleObject<System::ServiceModel::ServiceHostBase ^>
public abstract class ServiceHostBase : System.ServiceModel.Channels.CommunicationObject, IDisposable, System.ServiceModel.IExtensibleObject<System.ServiceModel.ServiceHostBase>
type ServiceHostBase = class
inherit CommunicationObject
interface IExtensibleObject<ServiceHostBase>
interface IDisposable
Public MustInherit Class ServiceHostBase
Inherits CommunicationObject
Implements IDisposable, IExtensibleObject(Of ServiceHostBase)
- Warisan
- Turunan
- Penerapan
Contoh
Sampel ini menggunakan ServiceHost kelas , yang berasal dari ServiceHostBase.
// Host the service within this EXE console application.
public static void Main()
{
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
{
try
{
// Open the ServiceHost to start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.ReadLine();
// Close the ServiceHost.
serviceHost.Close();
}
catch (TimeoutException timeProblem)
{
Console.WriteLine(timeProblem.Message);
Console.ReadLine();
}
catch (CommunicationException commProblem)
{
Console.WriteLine(commProblem.Message);
Console.ReadLine();
}
}
}
' Host the service within this EXE console application.
Public Shared Sub Main()
' Create a ServiceHost for the CalculatorService type and use the base address from config.
Using svcHost As New ServiceHost(GetType(CalculatorService))
Try
' Open the ServiceHost to start listening for messages.
svcHost.Open()
' The service can now be accessed.
Console.WriteLine("The service is ready.")
Console.WriteLine("Press <ENTER> to terminate service.")
Console.WriteLine()
Console.ReadLine()
'Close the ServiceHost.
svcHost.Close()
Catch timeout As TimeoutException
Console.WriteLine(timeout.Message)
Console.ReadLine()
Catch commException As CommunicationException
Console.WriteLine(commException.Message)
Console.ReadLine()
End Try
End Using
End Sub
Keterangan
ServiceHostBase Gunakan kelas untuk membuat host yang menyediakan model pemrograman kustom. Model pemrograman layanan Windows Communication Foundation (WCF) menggunakan kelas ServiceHost.
Catatan khusus untuk pengguna C++ Terkelola yang berasal dari kelas ini:
- Masukkan kode pembersihan Anda di (Aktif)(Mulai)Tutup (dan/atau OnAbort), bukan di destruktor.
- Hindari destruktor; mereka menyebabkan pengompilasi untuk menghasilkan IDisposablesecara otomatis .
- Hindari anggota non-referensi; mereka dapat menyebabkan pengompilasi untuk menghasilkan IDisposablesecara otomatis .
- Hindari finalizer; tetapi jika Anda menyertakannya, Anda harus menekan peringatan build dan panggilan SuppressFinalize(Object) dan finalizer itu sendiri dari (On)(Begin)Close (dan/atau OnAbort) untuk meniru apa yang akan menjadi perilaku yang dihasilkan IDisposable secara otomatis.
Konstruktor
| Nama | Deskripsi |
|---|---|
| ServiceHostBase() |
Menginisialisasi instans baru dari kelas ServiceHostBase. |
Properti
| Nama | Deskripsi |
|---|---|
| Authentication |
Mendapatkan perilaku autentikasi layanan. |
| Authorization |
Mendapatkan perilaku otorisasi untuk layanan yang dihosting. |
| BaseAddresses |
Mendapatkan alamat dasar yang digunakan oleh layanan yang dihosting. |
| ChannelDispatchers |
Mendapatkan koleksi dispatcher saluran yang digunakan oleh host layanan. |
| CloseTimeout |
Mendapatkan atau mengatur interval waktu yang diizinkan agar host layanan ditutup. |
| Credentials |
Mendapatkan kredensial untuk layanan yang dihosting. |
| DefaultCloseTimeout |
Mendapatkan interval waktu default yang diizinkan agar host layanan ditutup. |
| DefaultOpenTimeout |
Mendapatkan interval waktu default yang diizinkan untuk dibuka oleh host layanan. |
| Description |
Mendapatkan deskripsi layanan yang dihosting. |
| Extensions |
Mendapatkan ekstensi untuk host layanan yang ditentukan saat ini. |
| ImplementedContracts |
Mengambil kontrak yang diterapkan oleh layanan yang dihosting. |
| IsDisposed |
Mendapatkan nilai yang menunjukkan apakah objek komunikasi telah dibuang. (Diperoleh dari CommunicationObject) |
| ManualFlowControlLimit |
Mendapatkan atau mengatur batas kontrol alur untuk pesan yang diterima oleh layanan yang dihosting. |
| OpenTimeout |
Mendapatkan atau mengatur interval waktu yang diizinkan untuk dibuka oleh host layanan. |
| 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
| Nama | Deskripsi |
|---|---|
| Abort() |
Menyebabkan objek komunikasi segera beralih dari statusnya saat ini ke status penutupan. (Diperoleh dari CommunicationObject) |
| AddBaseAddress(Uri) |
Menambahkan alamat dasar ke host layanan. |
| AddDefaultEndpoints() |
Menambahkan titik akhir layanan untuk semua alamat dasar di setiap kontrak yang ditemukan di host layanan dengan pengikatan default. |
| AddServiceEndpoint(ServiceEndpoint) |
Menambahkan titik akhir layanan yang ditentukan ke layanan yang dihosting. |
| AddServiceEndpoint(String, Binding, String, Uri) |
Menambahkan titik akhir layanan ke layanan yang dihosting dengan kontrak, pengikatan, alamat titik akhir, dan URI tertentu yang berisi alamat yang didengarkannya. |
| AddServiceEndpoint(String, Binding, String) |
Menambahkan titik akhir layanan ke layanan yang dihosting dengan kontrak, pengikatan, dan alamat titik akhir tertentu. |
| AddServiceEndpoint(String, Binding, Uri, Uri) |
Menambahkan titik akhir layanan ke layanan yang dihosting dengan kontrak, pengikatan, dan URI yang ditentukan yang berisi titik akhir dan alamat mendengarkan. |
| AddServiceEndpoint(String, Binding, Uri) |
Menambahkan titik akhir layanan ke layanan yang dihosting dengan kontrak, pengikatan, dan URI tertentu yang berisi alamat titik akhir. |
| ApplyConfiguration() |
Memuat informasi deskripsi layanan dari file konfigurasi dan menerapkannya ke runtime yang sedang dibangun. |
| 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 tertentu. (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 yang ditentukan. (Diperoleh dari CommunicationObject) |
| CreateDescription(IDictionary<String,ContractDescription>) |
Saat diimplementasikan dalam kelas turunan, membuat deskripsi layanan yang dihosting. |
| 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) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| IncrementManualFlowControlLimit(Int32) |
Meningkatkan batas laju alur pesan ke layanan yang dihosting dengan kenaikan tertentu. |
| InitializeDescription(UriSchemeKeyedCollection) |
Membuat dan menginisialisasi host layanan dengan deskripsi kontrak dan layanan. |
| InitializeRuntime() |
Menginisialisasi runtime untuk host layanan. |
| LoadConfigurationSection(ServiceElement) |
Memuat elemen layanan dari file konfigurasi layanan yang dihosting. |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| OnAbort() |
Membatalkan layanan. |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
Memulai operasi asinkron yang dipanggil pada penutupan host layanan. |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Memulai operasi asinkron yang dipanggil pada pembukaan host layanan. |
| OnClose(TimeSpan) |
Menutup layanan yang dihosting, termasuk dispatcher saluran mereka dan konteks dan pendengar instans terkait. |
| OnClosed() |
Merilis sumber daya yang digunakan oleh host layanan. |
| OnClosed() |
Dipanggil selama transisi objek komunikasi ke status penutupan. (Diperoleh dari CommunicationObject) |
| OnClosing() |
Dipanggil selama transisi objek komunikasi ke status penutupan. (Diperoleh dari CommunicationObject) |
| OnEndClose(IAsyncResult) |
Menyelesaikan operasi asinkron yang dipanggil pada penutupan host layanan. |
| OnEndOpen(IAsyncResult) |
Menyelesaikan operasi asinkron yang dipanggil pada pembukaan host layanan. |
| OnFaulted() |
Menyisipkan pemrosesan pada objek komunikasi setelah transisi ke status rusak karena pemanggilan operasi kesalahan sinkron. (Diperoleh dari CommunicationObject) |
| OnOpen(TimeSpan) |
Membuka dispatcher saluran. |
| OnOpened() |
Mendapatkan kredensial layanan, autentikasi layanan, dan perilaku otorisasi untuk layanan yang dihosting. |
| OnOpening() |
Dipanggil selama transisi objek komunikasi ke status pembukaan. (Diperoleh dari CommunicationObject) |
| Open() |
Menyebabkan objek komunikasi beralih dari status yang dibuat ke status terbuka. (Diperoleh dari CommunicationObject) |
| Open(TimeSpan) |
Menyebabkan objek komunikasi beralih dari status yang dibuat ke status yang dibuka dalam interval waktu yang ditentukan. (Diperoleh dari CommunicationObject) |
| ReleasePerformanceCounters() |
Merilis penghitung kinerja dispatcher layanan dan saluran untuk layanan yang dihosting. |
| SetEndpointAddress(ServiceEndpoint, String) |
Mengatur alamat titik akhir titik akhir yang ditentukan ke alamat yang ditentukan. |
| ThrowIfDisposed() |
Melempar pengecualian jika objek komunikasi dibuang. (Diperoleh dari CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Melempar 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
| Nama | Deskripsi |
|---|---|
| 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) |
| UnknownMessageReceived |
Terjadi ketika pesan yang tidak diketahui diterima. |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IDisposable.Dispose() |
Menutup host layanan. |