Udostępnij za pośrednictwem


WebServiceHost Klasa

Definicja

Klasa pochodnaServiceHost, która uzupełnia model programowania REST Windows Communication Foundation (WCF).

public ref class WebServiceHost : System::ServiceModel::ServiceHost
public class WebServiceHost : System.ServiceModel.ServiceHost
type WebServiceHost = class
    inherit ServiceHost
Public Class WebServiceHost
Inherits ServiceHost
Dziedziczenie
Pochodne

Przykłady

W poniższym przykładzie pokazano, jak używać WebServiceHost klasy do hostowania usługi korzystającej z modelu programowania REST WCF.

[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

Uwagi

Jeśli WebServiceHost nie znajdzie żadnych punktów końcowych w opisie usługi, automatycznie tworzy domyślny punkt końcowy na podstawowym adresie usługi dla adresów podstawowych HTTP i HTTPS. Nie tworzy on punktu końcowego automatycznie, jeśli użytkownik jawnie skonfigurował punkt końcowy pod adresem podstawowym. WebServiceHostAutomatycznie konfiguruje powiązanie punktu końcowego do pracy ze skojarzonymi ustawieniami zabezpieczeń Internet Information Services (IIS) w przypadku użycia w bezpiecznym katalogu wirtualnym.

Podczas tworzenia domyślnego punktu końcowego WebServiceHost HTTP program wyłącza również stronę Pomocy HTTP i funkcję GET języka WSDL (Web Services Description Language), aby punkt końcowy metadanych nie zakłócał domyślnego punktu końcowego HTTP.

Ponadto WebServiceHost klasa dodaje element WebHttpBehavior do wszystkich punktów końcowych, które nie mają jeszcze zachowania i które mają element WebMessageEncodingElement. Jeśli wszystkie operacje w usłudze mają puste treści żądań HTTP lub zajmują się treścią żądania HTTP jako strumieniem, narzędzie WebServiceHost automatycznie konfiguruje odpowiedni maper typu zawartości dla powiązania.

Konstruktory

WebServiceHost()

Inicjuje nowe wystąpienie klasy WebServiceHost.

WebServiceHost(Object, Uri[])

Inicjuje WebServiceHost nowe wystąpienie klasy z określonym pojedynczym wystąpieniem serwera i adresem podstawowym.

WebServiceHost(Type, Uri[])

Inicjuje WebServiceHost nowe wystąpienie klasy o określonym typie usługi i adresie podstawowym.

Właściwości

Authentication

Pobiera zachowanie uwierzytelniania usługi.

(Odziedziczone po ServiceHostBase)
Authorization

Pobiera zachowanie autoryzacji dla usługi hostowanej.

(Odziedziczone po ServiceHostBase)
BaseAddresses

Pobiera adresy podstawowe używane przez hostowaną usługę.

(Odziedziczone po ServiceHostBase)
ChannelDispatchers

Pobiera kolekcję dyspozytorów kanałów używanych przez hosta usługi.

(Odziedziczone po ServiceHostBase)
CloseTimeout

Pobiera lub ustawia interwał czasu dozwolony dla hosta usługi do zamknięcia.

(Odziedziczone po ServiceHostBase)
Credentials

Pobiera poświadczenia dla hostowanej usługi.

(Odziedziczone po ServiceHostBase)
DefaultCloseTimeout

Pobiera domyślny interwał czasu dozwolony dla hosta usługi do zamknięcia.

(Odziedziczone po ServiceHostBase)
DefaultOpenTimeout

Pobiera domyślny interwał czasu dozwolony dla hosta usługi do otwarcia.

(Odziedziczone po ServiceHostBase)
Description

Pobiera opis hostowanej usługi.

(Odziedziczone po ServiceHostBase)
Extensions

Pobiera rozszerzenia dla bieżącego określonego hosta usługi.

(Odziedziczone po ServiceHostBase)
ImplementedContracts

Pobiera kontrakty implementowane przez usługę hostowaną.

(Odziedziczone po ServiceHostBase)
IsDisposed

Pobiera wartość wskazującą, czy obiekt komunikacji został usunięty.

(Odziedziczone po CommunicationObject)
ManualFlowControlLimit

Pobiera lub ustawia limit sterowania przepływem dla komunikatów odebranych przez usługę hostowaną.

(Odziedziczone po ServiceHostBase)
OpenTimeout

Pobiera lub ustawia interwał czasu dozwolony dla hosta usługi do otwarcia.

(Odziedziczone po ServiceHostBase)
SingletonInstance

Pobiera pojedyncze wystąpienie hostowanej usługi.

(Odziedziczone po ServiceHost)
State

Pobiera wartość wskazującą bieżący stan obiektu komunikacji.

(Odziedziczone po CommunicationObject)
ThisLock

Pobiera wzajemnie wykluczaną blokadę, która chroni wystąpienie klasy podczas przejścia stanu.

(Odziedziczone po CommunicationObject)

Metody

Abort()

Powoduje natychmiastowe przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamknięcia.

(Odziedziczone po CommunicationObject)
AddBaseAddress(Uri)

Dodaje adres podstawowy do hosta usługi.

(Odziedziczone po ServiceHostBase)
AddDefaultEndpoints()

Dodaje punkty końcowe usługi dla wszystkich adresów podstawowych w każdym kontrakcie znajdującym się na hoście usługi z domyślnym powiązaniem.

(Odziedziczone po ServiceHostBase)
AddServiceEndpoint(ServiceEndpoint)

Dodaje określony punkt końcowy usługi do hostowanej usługi.

(Odziedziczone po ServiceHostBase)
AddServiceEndpoint(String, Binding, String)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem i adresem punktu końcowego.

(Odziedziczone po ServiceHostBase)
AddServiceEndpoint(String, Binding, String, Uri)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem, adresem punktu końcowego i identyfikatorem URI zawierającym adres, pod którym nasłuchuje.

(Odziedziczone po ServiceHostBase)
AddServiceEndpoint(String, Binding, Uri)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem i identyfikatorem URI zawierającym adres punktu końcowego.

(Odziedziczone po ServiceHostBase)
AddServiceEndpoint(String, Binding, Uri, Uri)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem i identyfikatorami URI, które zawierają punkt końcowy i adresy nasłuchiwania.

(Odziedziczone po ServiceHostBase)
AddServiceEndpoint(Type, Binding, String)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem i adresem punktu końcowego.

(Odziedziczone po ServiceHost)
AddServiceEndpoint(Type, Binding, String, Uri)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem, adresem punktu końcowego i identyfikatorem URI, na którym nasłuchuje usługa.

(Odziedziczone po ServiceHost)
AddServiceEndpoint(Type, Binding, Uri)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem i identyfikatorem URI zawierającym adres punktu końcowego.

(Odziedziczone po ServiceHost)
AddServiceEndpoint(Type, Binding, Uri, Uri)

Dodaje punkt końcowy usługi do hostowanej usługi z określonym kontraktem, powiązaniem, identyfikatorem URI zawierającym adres punktu końcowego i identyfikatorem URI, na którym nasłuchuje usługa.

(Odziedziczone po ServiceHost)
ApplyConfiguration()

Ładuje opis usługi z pliku konfiguracji i stosuje go do tworzonego środowiska uruchomieniowego.

(Odziedziczone po ServiceHost)
BeginClose(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć obiekt komunikacji z określonym limitem czasu.

(Odziedziczone po CommunicationObject)
BeginOpen(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby otworzyć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby otworzyć obiekt komunikacji w określonym przedziale czasu.

(Odziedziczone po CommunicationObject)
Close()

Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego.

(Odziedziczone po CommunicationObject)
Close(TimeSpan)

Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego w określonym przedziale czasu.

(Odziedziczone po CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

Tworzy opis hostowanej usługi.

(Odziedziczone po ServiceHost)
EndClose(IAsyncResult)

Kończy operację asynchroniczną, aby zamknąć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
EndOpen(IAsyncResult)

Wykonuje operację asynchroniczną, aby otworzyć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Fault()

Powoduje przejście obiektu komunikacji z bieżącego stanu do stanu błędu.

(Odziedziczone po CommunicationObject)
GetCommunicationObjectType()

Pobiera typ obiektu komunikacji.

(Odziedziczone po CommunicationObject)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IncrementManualFlowControlLimit(Int32)

Zwiększa limit szybkości przepływu komunikatów do usługi hostowanej przez określony przyrost.

(Odziedziczone po ServiceHostBase)
InitializeDescription(Object, UriSchemeKeyedCollection)

Inicjuje opis usługi hostowanej na podstawie jej wystąpienia i określonych adresów bazowych.

(Odziedziczone po ServiceHost)
InitializeDescription(Type, UriSchemeKeyedCollection)

Inicjuje opis usługi hostowanej na podstawie typu i określonych adresów bazowych.

(Odziedziczone po ServiceHost)
InitializeDescription(UriSchemeKeyedCollection)

Tworzy i inicjuje hosta usługi za pomocą opisów kontraktu i usługi.

(Odziedziczone po ServiceHostBase)
InitializeRuntime()

Inicjuje środowisko uruchomieniowe hosta usługi.

(Odziedziczone po ServiceHostBase)
LoadConfigurationSection(ServiceElement)

Ładuje element usługi z pliku konfiguracji hostowanej usługi.

(Odziedziczone po ServiceHostBase)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnAbort()

Przerywa usługę.

(Odziedziczone po ServiceHostBase)
OnBeginClose(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną wywoływaną na zamknięciu hosta usługi.

(Odziedziczone po ServiceHostBase)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną wywoływaną podczas otwierania hosta usługi.

(Odziedziczone po ServiceHostBase)
OnClose(TimeSpan)

Zamyka hostowaną usługę, w tym ich dyspozytorów kanałów i skojarzonych kontekstów wystąpień i odbiorników.

(Odziedziczone po ServiceHostBase)
OnClosed()

Usuwanie jednorazowych usług hostowanych po zamknięciu hosta usługi.

(Odziedziczone po ServiceHost)
OnClosing()

Wywoływane podczas przejścia obiektu komunikacyjnego do stanu zamknięcia.

(Odziedziczone po CommunicationObject)
OnEndClose(IAsyncResult)

Kończy operację asynchroniczną wywoływaną na zamknięciu hosta usługi.

(Odziedziczone po ServiceHostBase)
OnEndOpen(IAsyncResult)

Kończy operację asynchroniczną wywoływaną podczas otwierania hosta usługi.

(Odziedziczone po ServiceHostBase)
OnFaulted()

Wstawia przetwarzanie w obiekcie komunikacji po przejściu do stanu błędu z powodu wywołania operacji synchronicznej błędu.

(Odziedziczone po CommunicationObject)
OnOpen(TimeSpan)

Otwiera dyspozytorów kanałów.

(Odziedziczone po ServiceHostBase)
OnOpened()

Pobiera poświadczenia usługi, uwierzytelnianie usługi i zachowanie autoryzacji dla hostowanej usługi.

(Odziedziczone po ServiceHostBase)
OnOpening()

Wywoływana po otwarciu WebServiceHost wystąpienia.

Open()

Powoduje przejście obiektu komunikacji z utworzonego stanu do stanu otwartego.

(Odziedziczone po CommunicationObject)
Open(TimeSpan)

Powoduje przejście obiektu komunikacji z utworzonego stanu do stanu otwartego w określonym przedziale czasu.

(Odziedziczone po CommunicationObject)
ReleasePerformanceCounters()

Zwalnia liczniki wydajności dyspozytora usług i kanałów dla hostowanej usługi.

(Odziedziczone po ServiceHostBase)
SetEndpointAddress(ServiceEndpoint, String)

Ustawia adres punktu końcowego określonego punktu końcowego na określony adres.

(Odziedziczone po ServiceHostBase)
ThrowIfDisposed()

Zgłasza wyjątek, jeśli obiekt komunikacji jest usuwany.

(Odziedziczone po CommunicationObject)
ThrowIfDisposedOrImmutable()

Zgłasza wyjątek, jeśli obiekt State komunikacji, dla której właściwość nie jest ustawiona Created .

(Odziedziczone po CommunicationObject)
ThrowIfDisposedOrNotOpen()

Zgłasza wyjątek, jeśli obiekt komunikacji nie znajduje się w Opened stanie.

(Odziedziczone po CommunicationObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

Closed

Występuje, gdy obiekt komunikacji przechodzi do stanu zamkniętego.

(Odziedziczone po CommunicationObject)
Closing

Występuje, gdy obiekt komunikacji przechodzi do stanu zamknięcia.

(Odziedziczone po CommunicationObject)
Faulted

Występuje, gdy obiekt komunikacji przechodzi do stanu uszkodzonego.

(Odziedziczone po CommunicationObject)
Opened

Występuje, gdy obiekt komunikacji przechodzi do otwartego stanu.

(Odziedziczone po CommunicationObject)
Opening

Występuje, gdy obiekt komunikacji przechodzi do stanu otwierania.

(Odziedziczone po CommunicationObject)
UnknownMessageReceived

Występuje po odebraniu nieznanego komunikatu.

(Odziedziczone po ServiceHostBase)

Jawne implementacje interfejsu

IDisposable.Dispose()

Zamyka hosta usługi.

(Odziedziczone po ServiceHostBase)

Dotyczy