WebServiceHost Sınıf

Tanım

Windows Communication Foundation (WCF) REST programlama modelini tamamlayan ServiceHost 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

Hizmet açıklamasında hiçbir uç nokta bulunmazsa WebServiceHost , http ve HTTPS temel adresleri için hizmetin temel adresinde otomatik olarak bir varsayılan uç nokta oluşturur. Kullanıcı temel adreste açıkça bir uç nokta yapılandırdıysa, otomatik olarak bir uç nokta oluşturmaz. WebServiceHost, gü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ıyor.

Varsayılan BIR HTTP uç noktası 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.

Buna ek olarak, WebServiceHost sınıfı, zaten davranışa sahip olmayan ve olan WebHttpBehaviortüm uç noktalara öğesini eklerWebMessageEncodingElement. Hizmet üzerindeki tüm işlemlerin boş HTTP istek gövdeleri varsa veya HTTP isteği gövdesiyle akış olarak ilgileniyorsa, WebServiceHost bağlama için uygun içerik türü eşleyiciyi otomatik olarak yapılandırır.

Oluşturucular

Name Description
WebServiceHost()

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

WebServiceHost(Object, Uri[])

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

WebServiceHost(Type, Uri[])

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

Özellikler

Name Description
Authentication

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

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

Barındırılan hizmet için 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 ana bilgisayarı 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ına 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

Name Description
Abort()

İletiş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, 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, 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, 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(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(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, 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, Uri, Uri)

Barındırılan hizmete belirtilen 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)
AddServiceEndpoint(Type, Binding, Uri)

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

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

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

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

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 nesnesini 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)

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)

İ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()

Geçerli örneğin Type 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)

Hizmet ana bilgisayarını sözleşme ve hizmet açıklamalarıyla 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 Objectbasit bir kopyasını oluşturur.

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

Hizmeti durdurur.

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

Hizmet konağında kapatıldığında ç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 konağı kapatıldığında barındırılan atılabilir hizmetleri atılır.

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

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

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

Zaman uyumlu 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.

(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()

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

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ısı 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ığı State iletişim nesnesi Created 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 bir dize döndürür.

(Devralındığı yer: Object)

Ekinlikler

Name Description
Closed

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

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

bir iletişim nesnesi kapatma 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ı

Name Description
IDisposable.Dispose()

Hizmet ana bilgisayarını kapatır.

(Devralındığı yer: ServiceHostBase)

Şunlara uygulanır