Oktatóanyag: Windows Communication Foundation-ügyfél létrehozása
Ez az oktatóanyag a Windows Communication Foundation (WCF) alapszintű alkalmazás létrehozásához szükséges öt feladat közül a negyediket ismerteti. Az oktatóanyagok áttekintéséért lásd : Oktatóanyag: Ismerkedés a Windows Communication Foundation-alkalmazásokkal.
A WCF-alkalmazások létrehozásának következő feladata egy ügyfél létrehozása metaadatok WCF-szolgáltatásból való lekérésével. A Visual Studióval hozzáadhat egy szolgáltatáshivatkozást, amely lekéri a metaadatokat a szolgáltatás MEX-végpontjáról. A Visual Studio ezután létrehoz egy felügyelt forráskódfájlt egy ügyfélproxyhoz a választott nyelven. Emellett létrehoz egy ügyfélkonfigurációs fájlt (App.config). Ez a fájl lehetővé teszi, hogy az ügyfélalkalmazás egy végponton csatlakozzon a szolgáltatáshoz.
Feljegyzés
Ha egy WCF-szolgáltatást egy osztálytárprojektből hív meg a Visual Studióban, a Szolgáltatáshivatkozás hozzáadása funkcióval automatikusan létrehoz egy proxyt és egy társított konfigurációs fájlt. Mivel azonban az osztálytár-projektek nem használják ezt a konfigurációs fájlt, hozzá kell adnia a létrehozott konfigurációs fájl beállításait az osztálytárat hívó végrehajtható fájl App.config fájljába.
Feljegyzés
Alternatív megoldásként használja a ServiceModel Metadata Utility eszközt a Visual Studio helyett a proxyosztály és a konfigurációs fájl létrehozásához.
Az ügyfélalkalmazás a létrehozott proxyosztály használatával kommunikál a szolgáltatással. Ezt az eljárást a következő oktatóanyag ismerteti : Ügyfél használata.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Hozzon létre és konfiguráljon egy konzolalkalmazás-projektet a WCF-ügyfélhez.
- Adjon hozzá egy szolgáltatáshivatkozást a WCF szolgáltatáshoz a proxyosztály és a konfigurációs fájlok létrehozásához.
Windows Communication Foundation-ügyfél létrehozása
Konzolalkalmazás-projekt létrehozása a Visual Studióban:
A Fájl menüben válassza a Projekt/megoldás megnyitása>lehetőséget, és keresse meg a korábban létrehozott GettingStarted megoldást (GettingStarted.sln). Válassza a Megnyitás lehetőséget.
A Nézet menüben válassza a Megoldáskezelő.
Az Megoldáskezelő ablakban válassza a GettingStarted megoldást (felső csomópont), majd a helyi menü Új projekt hozzáadása elemét>.
Az Új projekt hozzáadása ablak bal oldalán válassza a Windows Desktop kategóriát a Visual C# vagy a Visual Basic alatt.
Válassza ki a konzolalkalmazás (.NET-keretrendszer) sablont, és adja meg a GettingStartedClient nevet. Kattintson az OK gombra.
Adjon hozzá egy hivatkozást a GettingStartedClient projektben a System.ServiceModel szerelvényhez:
A Megoldáskezelő ablakban válassza a Hivatkozások mappát a GettingStartedClient projekt alatt, majd a helyi menüben válassza a Hivatkozás hozzáadása lehetőséget.
A Referencia hozzáadása ablakban, az ablak bal oldalán található Szerelvények csoportban válassza a Keretrendszer lehetőséget.
Keresse meg és válassza a System.ServiceModel elemet, majd kattintson az OK gombra.
Mentse a megoldást az Összes fájl>mentése gombra kattintva.
Adjon hozzá egy szolgáltatáshivatkozást a számológép szolgáltatáshoz:
A Megoldáskezelő ablakban válassza a GettingStartedClient projekt Alatti Hivatkozások mappát, majd a helyi menüben válassza a Szolgáltatáshivatkozás hozzáadása lehetőséget.
A Szolgáltatás hozzáadása referenciaablakban válassza a Felfedezés lehetőséget.
Elindul a CalculatorService szolgáltatás, és a Visual Studio megjeleníti azt a Szolgáltatások mezőben.
A CalculatorService elemet választva kibonthatja és megjelenítheti a szolgáltatás által megvalósított szolgáltatási szerződéseket. Hagyja meg az alapértelmezett névteret, és válassza az OK gombot.
A Visual Studio új elemet ad hozzá a GettingStartedClient projekt Csatlakozás Ed Services mappája alá.
ServiceModel Metadata Segédprogram
Az alábbi példák bemutatják, hogyan hozhatja létre a proxyosztályfájlt a ServiceModel Metadata Segédprogram eszközzel (Svcutil.exe). Ez az eszköz létrehozza a proxyosztályfájlt és az App.config fájlt. Az alábbi példák bemutatják, hogyan lehet létrehozni a proxyt a C# és a Visual Basic alkalmazásban:
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/GettingStarted/CalculatorService
svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config http://localhost:8000/GettingStarted/CalculatorService
Ügyfélkonfigurációs fájl
Az ügyfél létrehozása után a Visual Studio létrehozza az App.config konfigurációs fájlt a GettingStartedClient projektben, amelynek hasonlónak kell lennie az alábbi példához:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<!-- specifies the version of WCF to use-->
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<system.serviceModel>
<bindings>
<!-- Uses wsHttpBinding-->
<wsHttpBinding>
<binding name="WSHttpBinding_ICalculator" />
</wsHttpBinding>
</bindings>
<client>
<!-- specifies the endpoint to use when calling the service -->
<endpoint address="http://localhost:8000/GettingStarted/CalculatorService"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator"
contract="ServiceReference1.ICalculator" name="WSHttpBinding_ICalculator">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
A system.serviceModel> szakaszban figyelje meg a< végpontelemet>.< A <végpontelem> az ügyfél által a szolgáltatás eléréséhez használt végpontot az alábbiak szerint határozza meg:
- Cím:
http://localhost:8000/GettingStarted/CalculatorService
. A végpont címe. - Szolgáltatási szerződés:
ServiceReference1.ICalculator
. A szolgáltatási szerződés kezeli a WCF-ügyfél és a szolgáltatás közötti kommunikációt. A Visual Studio ezt a szerződést az Add Service Reference függvény használatakor generálta. Ez lényegében a GettingStartedLib projektben meghatározott szerződés másolata. - Kötés: WSHttpBinding. A kötés a HTTP-t adja meg átviteli, interoperábilis biztonsági és egyéb konfigurációs részletekként.
Következő lépések
Ez az oktatóanyag bemutatta, hogyan végezheti el az alábbi műveleteket:
- Hozzon létre és konfiguráljon egy konzolalkalmazás-projektet a WCF-ügyfélhez.
- Adjon hozzá egy szolgáltatáshivatkozást a WCF szolgáltatáshoz az ügyfélalkalmazás proxyosztályának és konfigurációs fájljainak létrehozásához.
Lépjen tovább a következő oktatóanyagra, amelyből megtudhatja, hogyan használhatja a létrehozott ügyfelet.