Indítsuk el a VS2012-t és hozzunk létre egy új projektet, használjuk a "Console Application" sablont (1. ábra). A projektünk neve : "ConsoleWebServiceKliens1".
1. ábra Projekt létrehozása
Ezután vegyünk fel egy "Service Reference"-t, ahol adjuk meg a webszolgáltatásunk URL elérhetőségét. Fontos, hogy a webszolgáltatásunk fusson, akár localhost-ban, akár egy ASP.NET-es tárhelyen. Ha bemásoljuk a webszolgáltatásunk URL elérhetőségét, kattintsunk a "Go" nyomógombra, ezután egy rövid várakozás után a "webelektronika"osztály webmetódusai megjelennek (2. ábra).
Kattintsunk az "OK" nyomógombra és a névtér nevét (ServiceReference) nem szükséges megváltoztatni.
2. ábra A ServiceReference felvétele a projektbe
A projektünk Solution Explorer ablakát mutatja a 3. ábra, ahol látható az előbb felvett Service Reference (ServiceReference1) és az app.config file is.
3. ábra Solution Explorer
Az app.config file-ban megtaláljuk a webszolgáltatásunk címét, ahol a szolgáltatás elérhető (4. ábra). Szintén itt találjuk a "basicHttpBinding" elemet is, amelyről a WCF-ről szóló bejegyzésben részletesebben lesz szó. Ez a kötés felel a "Http" protokoll használatáért.
4. ábra App.config file tartalma
A következő ábrán (5. ábra) látjuk a Program osztály Main() metódusát, ahol az előbb létrehozott névterünkben megtalálható a "webelektronikaSoapClient" osztály. Ezt a proxyosztályt példányosítjuk "sw" néven.
5. ábra Main() metódus
A példányosítás után az sw objektum különböző metódusait (pl.: Nagybetu()) hívjuk meg. Tekintettel arra, hogy ezek a metódusok string típust adnak vissza, ezért a meghívásuk történhet a Console.WriteLine() metódus segítségével is. Ezáltal az (visszaadott) eredményt megjelenítjük a konzol ablakban (6. ábra).
6. ábra A kliens futási eredménye
Az első futtatásnál könnyen észre vehető az, hogy az eredmények nem rögtön jelennek meg, hanem néhány másodperces késéssel. Ezidő alatt épül ki a kapcsolat a szerver-kliens között. Ekkor a kliens más műveletet nem tud végrehajtani, a grafikus felületünk erre az időre lefagy. Ez azért van, mert a metódusainkat szinkron módon hívtuk meg.
Ebben a cikkben bemutatjuk a metódusok alapjait. Nem érintjük viszont például a túlterhelést, ezt egy következő részben tekintjük át.. . . .
A sorozatunknak ebben a részében átnézzük általánosságban az osztályok alapjait egy konzolalkalmazás segítségével. A konstruktorok viszont a következő részben kerülnek bemutatásra.. . . .
Ebben a cikkben megismerjük a C# nyelv által használt változók nagy részét. Nézünk egy példát a típuskonverzióra.. . . .