WebServiceHost Sınıf

Tanım

ServiceHost Windows Communication Foundation (WCF) REST programlama modelini tamamlayan türetilmiş bir sınıf.

public ref class WebServiceHost : System::ServiceModel::ServiceHost
public class WebServiceHost : System.ServiceModel.ServiceHost
type WebServiceHost = class
    inherit ServiceHost
Public Class WebServiceHost
Inherits ServiceHost
Devralma
Türetilmiş

Örnekler

Aşağıdaki örnekte, WCF REST programlama modelini kullanan bir hizmeti barındırmak için sınıfının nasıl kullanılacağı WebServiceHost gösterilmektedir.

[ServiceContract]
public interface ICalculator
{
    [OperationContract]
    [WebInvoke(UriTemplate = "add?x={x}&y={y}")]
    long Add(long x, long y);

    [OperationContract]
    [WebInvoke(UriTemplate = "sub?x={x}&y={y}")]
    long Subtract(long x, long y);

    [OperationContract]
    [WebInvoke(UriTemplate = "mult?x={x}&y={y}")]
    long Multiply(long x, long y);

    [OperationContract]
    [WebInvoke(UriTemplate = "div?x={x}&y={y}")]
    long Divide(long x, long y);

    [OperationContract]
    [WebGet(UriTemplate = "hello?name={name}")]
    string SayHello(string name);
}

public class CalcService : ICalculator
{
    public long Add(long x, long y)
    {
        return x + y;
    }

    public long Subtract(long x, long y)
    {
        return x - y;
    }

    public long Multiply(long x, long y)
    {
        return x * y;
    }

    public long Divide(long x, long y)
    {
        return x / y;
    }

    public string SayHello(string name)
    {
        return "Hello " + name;
    }
}

class Program
{
    static void Main(string[] args)
    {
        Uri baseAddress = new Uri("http://localhost:8000/");

        WebServiceHost svcHost = new WebServiceHost(typeof(CalcService), baseAddress);

        try
        {
            svcHost.Open();

            Console.WriteLine("Service is running");
            Console.WriteLine("Press enter to quit...");
            Console.ReadLine();

            svcHost.Close();
        }
        catch (CommunicationException cex)
        {
            Console.WriteLine("An exception occurred: {0}", cex.Message);
            svcHost.Abort();
        }
    }
}
<ServiceContract()> _
Public Interface ICalculator
    <OperationContract()> _
    <WebInvoke(UriTemplate:="add?x={x}&y={y}")> _
    Function Add(ByVal x As Long, ByVal y As Long) As Long

    <OperationContract()> _
    <WebInvoke(UriTemplate:="sub?x={x}&y={y}")> _
    Function Subtract(ByVal x As Long, ByVal y As Long) As Long

    <OperationContract()> _
    <WebInvoke(UriTemplate:="mult?x={x}&y={y}")> _
    Function Multiply(ByVal x As Long, ByVal y As Long) As Long

    <OperationContract()> _
    <WebInvoke(UriTemplate:="div?x={x}&y={y}")> _
    Function Divide(ByVal x As Long, ByVal y As Long) As Long

    <OperationContract()> _
    <WebGet(UriTemplate:="hello?name={name}")> _
    Function SayHello(ByVal name As String) As String
End Interface

Public Class CalcService
    Implements ICalculator
    Public Function Add(ByVal x As Long, ByVal y As Long) As Long Implements ICalculator.Add
        Return x + y
    End Function

    Public Function Subtract(ByVal x As Long, ByVal y As Long) As Long Implements ICalculator.Subtract
        Return x - y
    End Function

    Public Function Multiply(ByVal x As Long, ByVal y As Long) As Long Implements ICalculator.Multiply
        Return x * y
    End Function

    Public Function Divide(ByVal x As Long, ByVal y As Long) As Long Implements ICalculator.Divide
        Return x / y
    End Function

    Public Function SayHello(ByVal name As String) As String Implements ICalculator.SayHello
        Return "Hello " + name
    End Function
End Class

Açıklamalar

WebServiceHost Hizmet açıklamasında hiçbir uç nokta bulamazsa, HTTP ve HTTPS temel adresleri için hizmetin temel adresinde otomatik olarak bir varsayılan uç nokta oluşturur. Kullanıcı açıkça temel adreste bir uç nokta yapılandırdıysa, otomatik olarak bir uç nokta oluşturmaz. WebServiceHostgüvenli bir sanal dizinde kullanıldığında, uç noktanın bağlamasını ilişkili Internet Information Services (IIS) güvenlik ayarlarıyla çalışacak şekilde otomatik olarak yapılandırılır.

Varsayılan HTTP uç noktasını oluştururken, WebServiceHost meta veri uç noktasının varsayılan HTTP uç noktasını engellememesi için HTTP Yardım sayfasını ve Web Hizmetleri Açıklama Dili (WSDL) GET işlevini de devre dışı bırakır.

Ayrıca sınıfı, WebServiceHost zaten davranışı olmayan ve öğesine sahip olan WebMessageEncodingElementtüm uç noktalara öğesini eklerWebHttpBehavior. Hizmet üzerindeki tüm işlemler boş HTTP istek gövdelerine sahipse veya HTTP isteği gövdesini akış olarak ele alırsa WebServiceHost , bağlama için uygun içerik türü eşleyicisini otomatik olarak yapılandırılır.

Oluşturucular

WebServiceHost()

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

WebServiceHost(Object, Uri[])

Belirtilen tek sunucu örneği ve temel adres ile sınıfının yeni bir örneğini WebServiceHost başlatır.

WebServiceHost(Type, Uri[])

Belirtilen hizmet türü ve temel adres ile sınıfının yeni bir örneğini WebServiceHost başlatır.

Özellikler

Authentication

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

(Devralındığı yer: ServiceHostBase)
Authorization

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

(Devralındığı yer: ServiceHostBase)
BaseAddresses

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

(Devralındığı yer: ServiceHostBase)
ChannelDispatchers

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

(Devralındığı yer: ServiceHostBase)
CloseTimeout

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

(Devralındığı yer: ServiceHostBase)
Credentials

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

(Devralındığı yer: ServiceHostBase)
DefaultCloseTimeout

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

(Devralındığı yer: ServiceHostBase)
DefaultOpenTimeout

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

(Devralındığı yer: ServiceHostBase)
Description

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

(Devralındığı yer: ServiceHostBase)
Extensions

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

(Devralındığı yer: ServiceHostBase)
ImplementedContracts

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

(Devralındığı yer: ServiceHostBase)
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.

(Devralındığı yer: ServiceHostBase)
OpenTimeout

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

(Devralındığı yer: ServiceHostBase)
SingletonInstance

Barındırılan hizmetin tekil örneğini alır.

(Devralındığı yer: ServiceHost)
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çmesine neden olur.

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

Hizmet konağına bir temel adres ekler.

(Devralındığı yer: ServiceHostBase)
AddDefaultEndpoints()

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

(Devralındığı yer: ServiceHostBase)
AddServiceEndpoint(ServiceEndpoint)

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

(Devralındığı yer: ServiceHostBase)
AddServiceEndpoint(String, Binding, String)

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

(Devralındığı yer: ServiceHostBase)
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.

(Devralındığı yer: ServiceHostBase)
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.

(Devralındığı yer: ServiceHostBase)
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.

(Devralındığı yer: ServiceHostBase)
AddServiceEndpoint(Type, Binding, String)

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

(Devralındığı yer: ServiceHost)
AddServiceEndpoint(Type, Binding, String, Uri)

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

(Devralındığı yer: ServiceHost)
AddServiceEndpoint(Type, Binding, Uri)

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

(Devralındığı yer: ServiceHost)
AddServiceEndpoint(Type, Binding, Uri, Uri)

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

(Devralındığı yer: ServiceHost)
ApplyConfiguration()

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

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

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

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

Belirtilen zaman aşımına sahip bir 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()

bir iletişim nesnesinin geçerli durumundan kapalı duruma geçmesine neden olur.

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

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

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

Barındırılan hizmetin açıklamasını oluşturur.

(Devralındığı yer: ServiceHost)
EndClose(IAsyncResult)

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

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

bir iletiş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()

bir iletiş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.

(Devralındığı yer: ServiceHostBase)
InitializeDescription(Object, UriSchemeKeyedCollection)

Örneğine ve belirtilen temel adreslere göre barındırılan hizmetin açıklamasını başlatır.

(Devralındığı yer: ServiceHost)
InitializeDescription(Type, UriSchemeKeyedCollection)

Türüne ve belirtilen temel adreslere göre barındırılan hizmetin açıklamasını başlatır.

(Devralındığı yer: ServiceHost)
InitializeDescription(UriSchemeKeyedCollection)

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

(Devralındığı yer: ServiceHostBase)
InitializeRuntime()

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

(Devralındığı yer: ServiceHostBase)
LoadConfigurationSection(ServiceElement)

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

(Devralındığı yer: ServiceHostBase)
MemberwiseClone()

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

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

Hizmeti durdurur.

(Devralındığı yer: ServiceHostBase)
OnBeginClose(TimeSpan, AsyncCallback, Object)

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

(Devralındığı yer: ServiceHostBase)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

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

(Devralındığı yer: ServiceHostBase)
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.

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

Hizmet ana bilgisayarı kapatıldığında barındırılan tek kullanımlık hizmetleri atılır.

(Devralındığı yer: ServiceHost)
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.

(Devralındığı yer: ServiceHostBase)
OnEndOpen(IAsyncResult)

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

(Devralındığı yer: ServiceHostBase)
OnFaulted()

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

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

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

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

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

(Devralındığı yer: ServiceHostBase)
OnOpening()

WebServiceHost Örnek açıldığında çağrılır.

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.

(Devralındığı yer: ServiceHostBase)
SetEndpointAddress(ServiceEndpoint, String)

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

(Devralındığı yer: ServiceHostBase)
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.

(Devralındığı yer: ServiceHostBase)

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Hizmet ana bilgisayarını kapatır.

(Devralındığı yer: ServiceHostBase)

Şunlara uygulanır