Megosztás a következőn keresztül:


Önkiszolgáló

A SelfHost-minta bemutatja, hogyan implementálhat saját üzemeltetésű szolgáltatást egy konzolalkalmazásban. Ez a minta az első lépéseken alapul. A szolgáltatáskonfigurációs fájl átnevezve lett a Web.config-ról az App.config-ra, és úgy lett módosítva, hogy egy alapcímet konfiguráljon, amelyet a gazdagép használ. A szolgáltatás forráskódját úgy módosítottuk, hogy egy statikus Main függvényt implementáljon, amely létrehoz és megnyitja a konfigurált alapcímet biztosító szolgáltatás állomást. A szolgáltatás implementációját úgy módosítottuk, hogy az egyes műveletek kimenetét a konzolra írja. Az ügyfél nincs módosítva, kivéve a szolgáltatás megfelelő végpontcímének konfigurálását.

Feljegyzés

A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók.

A minta egy statikus fő függvényt implementál egy adott CalculatorService típus létrehozásáhozServiceHost, ahogyan az az alábbi mintakódban is látható.

// 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();
    }
}

Ha egy szolgáltatást az Internet Information Services (IIS) vagy a Windows Folyamataktiválási szolgáltatás (WAS) üzemeltet, a szolgáltatás alapcímét az üzemeltetési környezet biztosítja. A saját üzemeltetésű esetben saját maga kell megadnia az alapcímet. Ezt a add következő mintakonfigurációban bemutatott módon a baseAddresses elem, a baseAddresses> gyermek<, <a gazdagép> gyermeke és a szolgáltatás> gyermekének <használatával kell elvégezni.

<service
    name="Microsoft.ServiceModel.Samples.CalculatorService"
    behaviorConfiguration="CalculatorServiceBehavior">
  <host>
    <baseAddresses>
      <add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
    </baseAddresses>
  </host>
  ...
</service>

A minta futtatásakor a műveleti kérelmek és a válaszok megjelennek a szolgáltatás és az ügyfélkonzol ablakaiban is. A szolgáltatás és az ügyfél leállításához nyomja le az ENTER billentyűt az egyes konzolablakokban.

A minta beállítása, összeállítása és futtatása

  1. Győződjön meg arról, hogy elvégezte a Windows Communication Foundation-minták egyszeri beállítási eljárását.

  2. A megoldás C# vagy Visual Basic .NET kiadásának létrehozásához kövesse a Windows Communication Foundation-minták készítéséhez szükséges utasításokat.

  3. Ha a mintát egy- vagy számítógépközi konfigurációban szeretné futtatni, kövesse a Windows Communication Foundation-minták futtatásával kapcsolatos utasításokat.

Lásd még