ServiceHostBase Sınıf

Tanım

sınıfını ServiceHostBase , özel programlama modellerini kullanıma sunan konakları uygulayacak şekilde genişletir.

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)
Devralma
ServiceHostBase
Türetilmiş
Uygulamalar

Örnekler

Bu örnek, öğesinden ServiceHostBasetüretilen sınıfını kullanırServiceHost.

// 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

Açıklamalar

ServiceHostBase Özel bir programlama modeli sağlayan konaklar oluşturmak için sınıfını kullanın. Windows Communication Foundation (WCF) hizmet programlama modeli sınıfını ServiceHost kullanır.

Bu sınıftan türetilen Yönetilen C++ kullanıcıları için özel not:

  • Temizleme kodunuzu bir yıkıcıya değil (On)(Begin)Close (ve/veya OnAbort) içine yerleştirin.

  • Yıkıcılardan kaçının; derleyicinin otomatik olarak oluşturmasına IDisposableneden olur.

  • Başvuru olmayan üyelerden kaçının; derleyicinin otomatik olarak oluşturmasına IDisposableneden olabilir.

  • Sonlandırıcılardan kaçının; ancak bir tane eklerseniz, otomatik olarak oluşturulan IDisposable davranışın ne olduğunu öykünmek için derleme uyarısını ve çağrısını SuppressFinalize(Object) ve sonlandırıcıyı (On)(Begin)Close (ve/veya OnAbort) öğesinden gizlemeniz gerekir.

Oluşturucular

ServiceHostBase()

ServiceHostBase sınıfının yeni bir örneğini başlatır.

Özellikler

Authentication

Hizmet kimlik doğrulama davranışını alır.

Authorization

Barındırılan hizmetin yetkilendirme davranışını alır.

BaseAddresses

Barındırılan hizmet tarafından kullanılan temel adresleri alır.

ChannelDispatchers

Hizmet konağı tarafından kullanılan kanal dağıtıcıları koleksiyonunu alır.

CloseTimeout

Hizmet ana bilgisayarının kapanmasına izin verilen süreyi alır veya ayarlar.

Credentials

Barındırılan hizmetin kimlik bilgilerini alır.

DefaultCloseTimeout

Hizmet ana bilgisayarının kapanması için izin verilen varsayılan zaman aralığını alır.

DefaultOpenTimeout

Hizmet konağı için izin verilen varsayılan zaman aralığını alır.

Description

Barındırılan hizmetin açıklamasını alır.

Extensions

Geçerli belirtilen hizmet konağı için uzantıları alır.

ImplementedContracts

Barındırılan hizmet tarafından uygulanan sözleşmeleri alır.

IsDisposed

İletişim nesnesinin atılıp atılmadığını gösteren bir değer alır.

(Devralındığı yer: CommunicationObject)
ManualFlowControlLimit

Barındırılan hizmet tarafından alınan iletiler için akış denetimi sınırını alır veya ayarlar.

OpenTimeout

Hizmet konağı için izin verilen zaman aralığını alır veya ayarlar.

State

İletişim nesnesinin geçerli durumunu gösteren bir değer alır.

(Devralındığı yer: CommunicationObject)
ThisLock

Durum geçişi sırasında sınıf örneğini koruyan birbirini dışlayan kilidi alır.

(Devralındığı yer: CommunicationObject)

Yöntemler

Abort()

Bir iletişim nesnesinin geçerli durumundan kapanış durumuna hemen geçişine neden olur.

(Devralındığı yer: CommunicationObject)
AddBaseAddress(Uri)

Hizmet konağına bir temel adres ekler.

AddDefaultEndpoints()

Varsayılan bağlama ile hizmet konağında bulunan her sözleşmedeki tüm temel adresler için hizmet uç noktaları ekler.

AddServiceEndpoint(ServiceEndpoint)

Belirtilen hizmet uç noktasını barındırılan hizmete ekler.

AddServiceEndpoint(String, Binding, String)

Belirtilen sözleşme, bağlama ve uç nokta adresiyle barındırılan hizmete bir hizmet uç noktası ekler.

AddServiceEndpoint(String, Binding, String, Uri)

Barındırılan hizmete, dinlediği adresi içeren belirtilen sözleşme, bağlama, uç nokta adresi ve URI ile bir hizmet uç noktası ekler.

AddServiceEndpoint(String, Binding, Uri)

Belirtilen sözleşme, bağlama ve uç nokta adresini içeren bir URI ile barındırılan hizmete bir hizmet uç noktası ekler.

AddServiceEndpoint(String, Binding, Uri, Uri)

Belirtilen sözleşme, bağlama ve uç nokta ile dinleme adreslerini içeren URI'lerle barındırılan hizmete bir hizmet uç noktası ekler.

ApplyConfiguration()

Yapılandırma dosyasından hizmet açıklaması bilgilerini yükler ve bunu oluşturmakta olan çalışma zamanına uygular.

BeginClose(AsyncCallback, Object)

İletişim nesnesini kapatmak için zaman uyumsuz bir işlem başlatır.

(Devralındığı yer: CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Belirli bir zaman aşımıyla iletişim nesnesini kapatmak için zaman uyumsuz bir işlem başlatır.

(Devralındığı yer: CommunicationObject)
BeginOpen(AsyncCallback, Object)

İletişim nesnesini açmak için zaman uyumsuz bir işlem başlatır.

(Devralındığı yer: CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Belirli bir zaman aralığı içinde bir iletişim nesnesi açmak için zaman uyumsuz bir işlem başlatır.

(Devralındığı yer: CommunicationObject)
Close()

İletişim nesnesinin geçerli durumundan kapalı duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
Close(TimeSpan)

Belirli bir zaman aralığı içinde iletişim nesnesinin geçerli durumundan kapalı duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

Türetilmiş bir sınıfta uygulandığında barındırılan hizmetin açıklamasını oluşturur.

EndClose(IAsyncResult)

İletişim nesnesini kapatmak için zaman uyumsuz bir işlemi tamamlar.

(Devralındığı yer: CommunicationObject)
EndOpen(IAsyncResult)

İletişim nesnesini açmak için zaman uyumsuz bir işlemi tamamlar.

(Devralındığı yer: CommunicationObject)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Fault()

İletişim nesnesinin geçerli durumundan hatalı duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
GetCommunicationObjectType()

İletişim nesnesinin türünü alır.

(Devralındığı yer: CommunicationObject)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IncrementManualFlowControlLimit(Int32)

İletilerin barındırılan hizmete yönelik akış hızı sınırını belirtilen bir artışla artırır.

InitializeDescription(UriSchemeKeyedCollection)

Sözleşme ve hizmet açıklamalarıyla hizmet ana bilgisayarını oluşturur ve başlatır.

InitializeRuntime()

Hizmet konağı için çalışma zamanını başlatır.

LoadConfigurationSection(ServiceElement)

Barındırılan hizmetin yapılandırma dosyasından hizmet öğesini yükler.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnAbort()

Hizmeti durdurur.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Hizmet konağı kapatılırken çağrılan zaman uyumsuz bir işlemi başlatır.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Hizmet konağı açıldığında çağrılan zaman uyumsuz bir işlemi başlatır.

OnClose(TimeSpan)

Kanal dağıtıcıları ve ilişkili örnek bağlamları ve dinleyicileri de dahil olmak üzere barındırılan hizmeti kapatır.

OnCloseAsync(TimeSpan)

sınıfını ServiceHostBase , özel programlama modellerini kullanıma sunan konakları uygulayacak şekilde genişletir.

(Devralındığı yer: CommunicationObject)
OnClosed()

Hizmet konağı tarafından kullanılan kaynakları serbest bırakır.

OnClosed()

İletişim nesnesinin kapanış durumuna geçişi sırasında çağrılır.

(Devralındığı yer: CommunicationObject)
OnClosing()

İletişim nesnesinin kapanış durumuna geçişi sırasında çağrılır.

(Devralındığı yer: CommunicationObject)
OnEndClose(IAsyncResult)

Hizmet konağı kapatılırken çağrılan zaman uyumsuz bir işlemi tamamlar.

OnEndOpen(IAsyncResult)

Hizmet konağı açıldığında çağrılan zaman uyumsuz işlemi tamamlar.

OnFaulted()

Zaman uyumlu bir hata işleminin çağrılması nedeniyle hatalı duruma geçtikten sonra bir iletişim nesnesine işleme ekler.

(Devralındığı yer: CommunicationObject)
OnOpen(TimeSpan)

Kanal dağıtıcılarını açar.

OnOpenAsync(TimeSpan)

sınıfını ServiceHostBase , özel programlama modellerini kullanıma sunan konakları uygulayacak şekilde genişletir.

(Devralındığı yer: CommunicationObject)
OnOpened()

Barındırılan hizmet için hizmet kimlik bilgilerini, hizmet kimlik doğrulamasını ve yetkilendirme davranışını alır.

OnOpening()

İletişim nesnesinin açılış durumuna geçişi sırasında çağrılır.

(Devralındığı yer: CommunicationObject)
Open()

Bir iletişim nesnesinin oluşturulan durumdan açık duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
Open(TimeSpan)

Bir iletişim nesnesinin belirli bir zaman aralığı içinde oluşturulan durumdan açık duruma geçmesine neden olur.

(Devralındığı yer: CommunicationObject)
ReleasePerformanceCounters()

Barındırılan hizmet için hizmet ve kanal dağıtıcı performans sayaçlarını serbest bırakır.

SetEndpointAddress(ServiceEndpoint, String)

Belirtilen uç noktanın uç nokta adresini belirtilen adrese ayarlar.

ThrowIfDisposed()

İletişim nesnesi atılırsa bir özel durum oluşturur.

(Devralındığı yer: CommunicationObject)
ThrowIfDisposedOrImmutable()

Özelliğin durum olarak ayarlanmadığı Created iletişim nesnesi State bir özel durum oluşturur.

(Devralındığı yer: CommunicationObject)
ThrowIfDisposedOrNotOpen()

İletişim nesnesi durumunda değilse Opened bir özel durum oluşturur.

(Devralındığı yer: CommunicationObject)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Ekinlikler

Closed

bir iletişim nesnesi kapalı duruma geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)
Closing

bir iletişim nesnesi kapanış durumuna geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)
Faulted

bir iletişim nesnesi hatalı duruma geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)
Opened

Bir iletişim nesnesi açık duruma geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)
Opening

bir iletişim nesnesi açma durumuna geçtiğinde gerçekleşir.

(Devralındığı yer: CommunicationObject)
UnknownMessageReceived

Bilinmeyen bir ileti alındığında gerçekleşir.

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Hizmet ana bilgisayarını kapatır.

Şunlara uygulanır