Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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. Az szolgáltatáskonfigurációs fájl át lett nevezve Web.config-ről App.config-re, és módosítva lett úgy, 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.
Megjegyzé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 main függvényt implementál, hogy létrehozzon egy ServiceHost a megadott CalculatorService típushoz, 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 következő mintakonfigurációban bemutatott módon a add gyermekeként a <, amely a > gyermeke, 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 példa beállítása, elkészítése és futtatása
Győződjön meg arról, hogy elvégezte a Windows Communication Foundation-minták One-Time beállítási eljárását.
A megoldás C# vagy Visual Basic .NET kiadásának létrehozásához kövesse Windows Communication Foundation-mintákcímű témakör utasításait.
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.