WebServiceHost Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Een ServiceHost afgeleide klasse die het REST-programmeermodel Windows Communication Foundation (WCF) complimenteert.
public ref class WebServiceHost : System::ServiceModel::ServiceHost
public class WebServiceHost : System.ServiceModel.ServiceHost
type WebServiceHost = class
inherit ServiceHost
Public Class WebServiceHost
Inherits ServiceHost
- Overname
- Afgeleid
Voorbeelden
In het volgende voorbeeld ziet u hoe u de WebServiceHost klasse gebruikt om een service te hosten die gebruikmaakt van het WCF REST-programmeermodel.
[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
Opmerkingen
Als WebServiceHost er geen eindpunten in de servicebeschrijving worden gevonden, wordt er automatisch een standaardeindpunt gemaakt op het basisadres van de service voor HTTP- en HTTPS-basisadressen. Er wordt niet automatisch een eindpunt gemaakt als de gebruiker een eindpunt expliciet op het basisadres heeft geconfigureerd. WebServiceHost configureert automatisch de binding van het eindpunt om te werken met de bijbehorende Internet Information Services -beveiligingsinstellingen (IIS) wanneer deze worden gebruikt in een beveiligde virtuele map.
Wanneer u een standaard-HTTP-eindpunt maakt, worden ook de HTTP Help-pagina en de WSDL GET-functionaliteit (Web Services Description Language) uitgeschakeld, WebServiceHost zodat het metagegevenseindpunt geen invloed heeft op het standaard-HTTP-eindpunt.
Bovendien voegt de WebServiceHost klasse de toe WebHttpBehavior aan alle eindpunten die nog niet over het gedrag beschikken en die een WebMessageEncodingElement. Als alle bewerkingen in de service lege HTTP-aanvraagbody's hebben of als een stream omgaan met de HOOFDtekst van de HTTP-aanvraag, wordt de WebServiceHost juiste mapper voor het inhoudstype automatisch geconfigureerd voor de binding.
Constructors
| Name | Description |
|---|---|
| WebServiceHost() |
Initialiseert een nieuw exemplaar van de WebServiceHost klasse. |
| WebServiceHost(Object, Uri[]) |
Initialiseert een nieuw exemplaar van de WebServiceHost klasse met het opgegeven exemplaar van de singleton-server en het basisadres. |
| WebServiceHost(Type, Uri[]) |
Initialiseert een nieuw exemplaar van de WebServiceHost klasse met het opgegeven servicetype en het basisadres. |
Eigenschappen
| Name | Description |
|---|---|
| Authentication |
Hiermee haalt u het verificatiegedrag van de service op. (Overgenomen van ServiceHostBase) |
| Authorization |
Hiermee haalt u het autorisatiegedrag voor de gehoste service op. (Overgenomen van ServiceHostBase) |
| BaseAddresses |
Hiermee haalt u de basisadressen op die worden gebruikt door de gehoste service. (Overgenomen van ServiceHostBase) |
| ChannelDispatchers |
Hiermee haalt u de verzameling kanaal-dispatchers op die door de servicehost worden gebruikt. (Overgenomen van ServiceHostBase) |
| CloseTimeout |
Hiermee haalt u het tijdsinterval op dat is toegestaan om de servicehost te sluiten of stelt u deze in. (Overgenomen van ServiceHostBase) |
| Credentials |
Hiermee haalt u de referentie op voor de service die wordt gehost. (Overgenomen van ServiceHostBase) |
| DefaultCloseTimeout |
Hiermee haalt u het standaardinterval op dat is toegestaan om de servicehost te sluiten. (Overgenomen van ServiceHostBase) |
| DefaultOpenTimeout |
Hiermee haalt u het standaardinterval op dat is toegestaan voor de servicehost om te openen. (Overgenomen van ServiceHostBase) |
| Description |
Hiermee wordt de beschrijving opgehaald van de service die wordt gehost. (Overgenomen van ServiceHostBase) |
| Extensions |
Hiermee haalt u de extensies voor de huidige opgegeven servicehost op. (Overgenomen van ServiceHostBase) |
| ImplementedContracts |
Haalt de contracten op die zijn geïmplementeerd door de service die wordt gehost. (Overgenomen van ServiceHostBase) |
| IsDisposed |
Hiermee wordt een waarde opgehaald die aangeeft of het communicatieobject is verwijderd. (Overgenomen van CommunicationObject) |
| ManualFlowControlLimit |
Hiermee wordt de limiet voor stroombeheer opgehaald of ingesteld voor berichten die worden ontvangen door de service die wordt gehost. (Overgenomen van ServiceHostBase) |
| OpenTimeout |
Hiermee haalt u het tijdsinterval op dat is toegestaan voor de servicehost om te openen. (Overgenomen van ServiceHostBase) |
| SingletonInstance |
Hiermee haalt u het singleton-exemplaar van de gehoste service op. (Overgenomen van ServiceHost) |
| State |
Hiermee wordt een waarde opgehaald die de huidige status van het communicatieobject aangeeft. (Overgenomen van CommunicationObject) |
| ThisLock |
Hiermee haalt u de wederzijds exclusieve vergrendeling op die het klasse-exemplaar beschermt tijdens een statusovergang. (Overgenomen van CommunicationObject) |
Methoden
| Name | Description |
|---|---|
| Abort() |
Zorgt ervoor dat een communicatieobject onmiddellijk van de huidige status overgaat naar de slotstatus. (Overgenomen van CommunicationObject) |
| AddBaseAddress(Uri) |
Voegt een basisadres toe aan de servicehost. (Overgenomen van ServiceHostBase) |
| AddDefaultEndpoints() |
Voegt service-eindpunten toe voor alle basisadressen in elk contract dat is gevonden in de servicehost met de standaardbinding. (Overgenomen van ServiceHostBase) |
| AddServiceEndpoint(ServiceEndpoint) |
Hiermee voegt u het opgegeven service-eindpunt toe aan de gehoste service. (Overgenomen van ServiceHostBase) |
| AddServiceEndpoint(String, Binding, String, Uri) |
Voegt een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding, eindpuntadres en URI die het adres bevat waarop het luistert. (Overgenomen van ServiceHostBase) |
| AddServiceEndpoint(String, Binding, String) |
Hiermee voegt u een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding en eindpuntadres. (Overgenomen van ServiceHostBase) |
| AddServiceEndpoint(String, Binding, Uri, Uri) |
Hiermee voegt u een service-eindpunt toe aan de gehoste service met het opgegeven contract, de binding en de URI's die het eindpunt en de luisteradressen bevatten. (Overgenomen van ServiceHostBase) |
| AddServiceEndpoint(String, Binding, Uri) |
Voegt een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding en een URI die het eindpuntadres bevat. (Overgenomen van ServiceHostBase) |
| AddServiceEndpoint(Type, Binding, String, Uri) |
Voegt een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding, een eindpuntadres en een URI waarop de service luistert. (Overgenomen van ServiceHost) |
| AddServiceEndpoint(Type, Binding, String) |
Hiermee voegt u een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding en eindpuntadres. (Overgenomen van ServiceHost) |
| AddServiceEndpoint(Type, Binding, Uri, Uri) |
Voegt een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding, een URI die het eindpuntadres bevat en een URI waarop de service luistert. (Overgenomen van ServiceHost) |
| AddServiceEndpoint(Type, Binding, Uri) |
Voegt een service-eindpunt toe aan de gehoste service met een opgegeven contract, binding en URI die het eindpuntadres bevat. (Overgenomen van ServiceHost) |
| ApplyConfiguration() |
Laadt de servicebeschrijving van het configuratiebestand en past deze toe op de runtime die wordt gemaakt. (Overgenomen van ServiceHost) |
| BeginClose(AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om een communicatieobject te sluiten. (Overgenomen van CommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om een communicatieobject met een opgegeven time-out te sluiten. (Overgenomen van CommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
Begint een asynchrone bewerking om een communicatieobject te openen. (Overgenomen van CommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
Begint een asynchrone bewerking om een communicatieobject binnen een opgegeven tijdsinterval te openen. (Overgenomen van CommunicationObject) |
| Close() |
Zorgt ervoor dat een communicatieobject van de huidige status overgaat naar de gesloten status. (Overgenomen van CommunicationObject) |
| Close(TimeSpan) |
Zorgt ervoor dat een communicatieobject binnen een opgegeven tijdsinterval van de huidige status overgaat naar de gesloten status. (Overgenomen van CommunicationObject) |
| CreateDescription(IDictionary<String,ContractDescription>) |
Hiermee maakt u een beschrijving van de service die wordt gehost. (Overgenomen van ServiceHost) |
| EndClose(IAsyncResult) |
Hiermee voltooit u een asynchrone bewerking om een communicatieobject te sluiten. (Overgenomen van CommunicationObject) |
| EndOpen(IAsyncResult) |
Voltooit een asynchrone bewerking om een communicatieobject te openen. (Overgenomen van CommunicationObject) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Fault() |
Zorgt ervoor dat een communicatieobject wordt overgezet van de huidige status naar de foutieve status. (Overgenomen van CommunicationObject) |
| GetCommunicationObjectType() |
Hiermee wordt het type communicatieobject opgehaald. (Overgenomen van CommunicationObject) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IncrementManualFlowControlLimit(Int32) |
Hiermee verhoogt u de limiet voor de stroomsnelheid van berichten naar de gehoste service met een opgegeven verhoging. (Overgenomen van ServiceHostBase) |
| InitializeDescription(Object, UriSchemeKeyedCollection) |
Initialiseert een beschrijving van de service die wordt gehost op basis van het exemplaar en de opgegeven basisadressen. (Overgenomen van ServiceHost) |
| InitializeDescription(Type, UriSchemeKeyedCollection) |
Initialiseert een beschrijving van de service die wordt gehost op basis van het type en de opgegeven basisadressen. (Overgenomen van ServiceHost) |
| InitializeDescription(UriSchemeKeyedCollection) |
Hiermee maakt en initialiseert u de servicehost met de contract- en servicebeschrijvingen. (Overgenomen van ServiceHostBase) |
| InitializeRuntime() |
Initialiseert de runtime voor de servicehost. (Overgenomen van ServiceHostBase) |
| LoadConfigurationSection(ServiceElement) |
Laadt het service-element uit het configuratiebestand van de gehoste service. (Overgenomen van ServiceHostBase) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnAbort() |
De service wordt afgebroken. (Overgenomen van ServiceHostBase) |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart die wordt aangeroepen bij het sluiten van de servicehost. (Overgenomen van ServiceHostBase) |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart die wordt aangeroepen bij het openen van de servicehost. (Overgenomen van ServiceHostBase) |
| OnClose(TimeSpan) |
Hiermee sluit u de gehoste service, inclusief de kanaaldispatchers en de bijbehorende instantiecontexten en listeners. (Overgenomen van ServiceHostBase) |
| OnClosed() |
Verwijdert wegwerpservices die worden gehost wanneer de servicehost wordt gesloten. (Overgenomen van ServiceHost) |
| OnClosing() |
Aangeroepen tijdens de overgang van een communicatieobject in de slotstatus. (Overgenomen van CommunicationObject) |
| OnEndClose(IAsyncResult) |
Hiermee wordt een asynchrone bewerking voltooid die wordt aangeroepen bij het sluiten van de servicehost. (Overgenomen van ServiceHostBase) |
| OnEndOpen(IAsyncResult) |
Hiermee wordt een asynchrone bewerking voltooid die is aangeroepen bij het openen van de servicehost. (Overgenomen van ServiceHostBase) |
| OnFaulted() |
Hiermee wordt de verwerking van een communicatieobject ingevoegd nadat het is overgeschakeld naar de status Met fouten als gevolg van de aanroep van een synchrone foutbewerking. (Overgenomen van CommunicationObject) |
| OnOpen(TimeSpan) |
Hiermee opent u de kanaalzenders. (Overgenomen van ServiceHostBase) |
| OnOpened() |
Hiermee haalt u de servicereferenties, serviceverificatie en autorisatiegedrag voor de gehoste service op. (Overgenomen van ServiceHostBase) |
| OnOpening() |
Aangeroepen wanneer het WebServiceHost exemplaar wordt geopend. |
| Open() |
Zorgt ervoor dat een communicatieobject wordt overgezet van de gemaakte status in de geopende status. (Overgenomen van CommunicationObject) |
| Open(TimeSpan) |
Zorgt ervoor dat een communicatieobject binnen een opgegeven tijdsinterval van de gemaakte status overgaat naar de geopende status. (Overgenomen van CommunicationObject) |
| ReleasePerformanceCounters() |
Hiermee worden de prestatiemeteritems voor de service en kanaalzender uitgebracht voor de gehoste service. (Overgenomen van ServiceHostBase) |
| SetEndpointAddress(ServiceEndpoint, String) |
Hiermee stelt u het eindpuntadres van het opgegeven eindpunt in op het opgegeven adres. (Overgenomen van ServiceHostBase) |
| ThrowIfDisposed() |
Genereert een uitzondering als het communicatieobject wordt verwijderd. (Overgenomen van CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Genereert een uitzondering als het communicatieobject de State eigenschap niet is ingesteld op de Created status. (Overgenomen van CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Genereert een uitzondering als het communicatieobject niet de Opened status heeft. (Overgenomen van CommunicationObject) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
gebeurtenis
| Name | Description |
|---|---|
| Closed |
Treedt op wanneer een communicatieobject overgaat naar de gesloten status. (Overgenomen van CommunicationObject) |
| Closing |
Treedt op wanneer een communicatieobject overgaat naar de slotstatus. (Overgenomen van CommunicationObject) |
| Faulted |
Treedt op wanneer een communicatieobject overgaat naar de foutieve status. (Overgenomen van CommunicationObject) |
| Opened |
Treedt op wanneer een communicatieobject overgaat naar de geopende status. (Overgenomen van CommunicationObject) |
| Opening |
Treedt op wanneer een communicatieobject overgaat naar de openingsstatus. (Overgenomen van CommunicationObject) |
| UnknownMessageReceived |
Treedt op wanneer een onbekend bericht wordt ontvangen. (Overgenomen van ServiceHostBase) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Hiermee sluit u de servicehost. (Overgenomen van ServiceHostBase) |