Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das SelfHost-Beispiel veranschaulicht, wie ein selbst gehosteter Dienst in einer Konsolenanwendung implementiert wird. Dieses Beispiel basiert auf den Ersten Schritten. Die Dienstkonfigurationsdatei wurde von Web.config in App.config umbenannt und geändert, um eine Basisadresse zu konfigurieren, die der Host verwendet. Der Dienstquellcode wurde geändert, um eine statische Main
Funktion zu implementieren, die einen Diensthost erstellt und öffnet, der die konfigurierte Basisadresse bereitstellt. Die Dienstimplementierung wurde geändert, um die Ausgabe für jeden Vorgang in die Konsole zu schreiben. Der Client wurde nicht geändert, mit Ausnahme der Konfiguration der richtigen Endpunktadresse des Diensts.
Hinweis
Die Einrichtungsverfahren und Build-Anweisungen für dieses Beispiel befinden sich am Ende dieses Themas.
Im Beispiel wird eine statische Hauptfunktion implementiert, um einen ServiceHost für den angegebenen CalculatorService
Typ zu erstellen, wie im folgenden Beispielcode gezeigt.
// Host the service within this EXE console application.
public static void Main()
{
// Create a ServiceHost for the CalculatorService type.
using (ServiceHost serviceHost =
new ServiceHost(typeof(CalculatorService)))
{
// Open the ServiceHost to create listeners
// and 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.WriteLine();
Console.ReadLine();
}
}
Wenn ein Dienst in Internetinformationsdienste (IIS) oder Windows Process Activation Service (WAS) gehostet wird, wird die Basisadresse des Dienstes von der Hostingumgebung bereitgestellt. Im selbst gehosteten Fall müssen Sie die Basisadresse selbst angeben. Dies erfolgt mithilfe des add
-Elements, das ein untergeordnetes Element von <baseAddresses>, <host>, und <service> ist, wie in der folgenden Beispiel-Konfiguration gezeigt.
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
</baseAddresses>
</host>
...
</service>
Wenn Sie das Beispiel ausführen, werden die Vorgangsanforderungen und -antworten sowohl in den Dienst- als auch in den Clientkonsolenfenstern angezeigt. Drücken Sie die EINGABETASTE in den einzelnen Konsolenfenstern, um den Dienst und den Client zu schließen.
So können Sie das Beispiel einrichten, erstellen und ausführen
Stellen Sie sicher, dass Sie das One-Time Setup-Verfahren für die Windows Communication Foundation-Beispieleausgeführt haben.
Um die C#- oder Visual Basic .NET-Edition der Lösung zu erstellen, befolgen Sie die Anweisungen in Building the Windows Communication Foundation Samples.
Wenn Sie das Beispiel in einer Konfiguration mit einem oder mehreren Computern ausführen möchten, befolgen Sie die Anweisungen unter Ausführen der Windows Communication Foundation-Beispiele.