ServiceHostBase Kelas

Definisi

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
ServiceHostBase
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.

Berlaku untuk