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 MultipleContracts-minta bemutatja, hogyan implementálhat több szerződést egy szolgáltatáson, és hogyan konfigurálhat végpontokat az egyes implementált szerződésekkel való kommunikációhoz. Ez a minta az első lépéseken alapul. A szolgáltatás úgy lett módosítva, hogy meghatározzon két szerződést, a ICalculator szerződést és a ICalculatorSession szerződést.
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 szolgáltatásosztály mind a ICalculator, mind a ICalculatorSession szerződést implementálja. Mivel az egyik szerződés munkamenetet igényel, a szolgáltatás a PerSession példány móddal tartja karban az állapotot a munkamenet teljes élettartama alatt.
A szolgáltatáskonfiguráció úgy lett módosítva, hogy két végpontot definiáljon az egyes szerződések felfedéséhez. Az alapcímen jelenik meg a ICalculator végpont egy basicHttpBinding segítségével. A ICalculatorSession végpont a baseaddress/session cím alatt érhető el, egy wsHttpBinding használatával, amelynek a bindingConfiguration attribútuma BindingWithSession értékre van állítva, ahogyan az az alábbi mintakonfigurációban látható.
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<!-- ICalculator endpoint is exposed using BasicBinding at the base
address provided by host:
http://localhost/servicemodelsamples/service.svc -->
<endpoint address=""
binding="basicHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- ICalculatorSession endpoint is exposed using BindingWithSession
at {baseaddress}/session:
http://localhost/servicemodelsamples/service.svc/session -->
<endpoint address="session"
binding="wsHttpBinding"
bindingConfiguration="BindingWithSession"
contract="Microsoft.ServiceModel.Samples.ICalculatorSession" />
...
</service>
A létrehozott ügyfélkód mostantól az eredeti ICalculator szerződéshez és az új ICalculatorSession szerződéshez is tartalmaz ügyfélosztályt. Az ügyfélkonfiguráció és a kód úgy lett módosítva, hogy a megfelelő szolgáltatásvégponton kommunikáljon az egyes szerződésekkel.
Az ügyfél egy konzol windowsos alkalmazás (.exe). A szolgáltatást az Internet Information Services (IIS) üzemelteti.
Az ügyfélkonzol ablaka megjeleníti az egyes végpontoknak küldött műveleteket, először az alapvégpontot, majd a biztonságos végpontot.
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 több gép közötti konfigurációban szeretné futtatni, kövesse A Windows Communication Foundation-minták futtatásacímű témakör utasításait.