Kezdőlap > Kategorizálatlan > Windows Communication Foundation – Calculator DEMO (HTTP)

Windows Communication Foundation – Calculator DEMO (HTTP)

2008. május 14. szerda Hozzászólás Go to comments

A WCF bemutatásaként először egy egyszerű számológép alkalmazást fogunk elkészíteni, aminek megírjuk a server részét. Majd a kliens oldalon megnézzük, hogy hogy hívjuk meg az adott szolgáltatást.

Indítsuk el Visual Studio 2008-at. Ha Windows Vistat használunk rendszergazdai módban indítsuk el. Hozzunk létre egy új solutiont. El kell döntenünk, hogy hogy fogjuk hosztolni a szolgáltatásunkat. Ha először még nem tudjuk eldönteni hozzunk létre egy osztályt és abban valósítsuk meg a szolgáltatást. Az egyszerűség kedvéért első körben hozzunk létre egy console alkalmazást. Szolgáltatásunk jelen esetben egy egyszerű számológép szolgáltatás lesz.

Server

image1. Ha kész a solution legyen a neve a WCFCalacServer, majd adjuk hozzá System.ServiceModel névteret. Erre névtérre van szükségünk, hogy WCF tudjunk létrehozni. 

2. Készítsünk egy új osztályt melynek neve legyen a Calculator.cs

3. Az osztályhoz adjuk hozzá a következő kódot:

image

A kód egy egyszerű összeadás és kivonás metódust valósít meg

1. Ha ezzel megvagyunk, ahhoz hogy tudjuk WCF szolgáltatásként publikálni, fel kell ruházni a megfelelő contractokkal az osztályt és annak metódusait (illetve ha szükséges a többi elemeit a megfelelő contractokkal).

image

2. Tehát az osztály neve elé a ServiceContract attribútumot kell adnunk. A metódusok elé pedig OperationContract attrbiutumot. Figyeljünk oda, hogy nem lehet olyan ServiceContractal minősített osztály amelyben legalább egy operationContract attribútummal ellátott osztály sincs.

3. Most, hogy a szolgáltatás osztállyal kész vagyunk. A szolgáltatásunkat hosztolni kéne. Térjünk vissza a Program.cs be majd írjuk meg a következő kódot:

image

4. Létre kell hoznunk egy Uri objektumot, amelynek paraméterének, átadjuk, hogy a szolgáltatásunkat milyen címen fogjuk publikálni. (Address)
Szükségünk lesz egy ServiceHost objektumra is, ennek a paramétere a szolgáltatás osztályunk típusa, illetve az Uri cím lehet.
Ha ezzel megvagyunk, meg kell adnunk a bindingot. Jelen esetben a BasicHttpBinding –ot választottuk.
A serivceHost objektumnak meghívjuk az AddServiceEndpoint metódusát, amelynek szintén átadjuk a szolgáltatás osztályunk típusát, és címét valamint itt adjuk meg a kötést is.

5. Ha ezzel meg vagyunk, az Open metódussal elindítjuk magát a szolgáltatást.
Célszerű try catch blokkokba pakolni a kódot, hogy minden esetleges hibát lekezeljünk.image

6. Indítsuk el a szolgáltatást. Azt hinnénk, hogy már minden működik, de még hátra van egy lépés.

7. Indítsuk el a böngészőt, majd adjuk meg a szolgáltatásunk címét. Ekkor egy barátságtalan de annál informatívabb képernyő fogad. Amely szerint nincs engedélyezve a szolgáltatásunk, és azt is elmondja nekünk, hogy legegyszerűbben, hogy oldhatjuk meg a problémát. Sőt még minta példát is mutat. Így ezt a példát másoljuk most ki, és hozzunk létre egy app.config fájlt.

8. Az app.configban finomra hangolhatjuk a szolgáltatásunk beállításait. Most az egyszerűség kedvéért csak a szolgáltatás elindításával törődünk.
A <service name="MyNamespace.MyServiceType" helyére kell beírnunk WCFCalcServer.Calculator –t.

image

9. Ha ezzel is megvagyunk akkor kész a szolgáltatásunk amit már használhatunk is.

Kliens

1. Indítsunk egy új Visual Studio-t és hozzunk létre egy új Console Applicationt. A neve legyen, mondjuk a WCFCalcClient.image

2. Kattintsunk a Solution Explorerbe a Referencesre jobb egérgombbal, majd válasszuk ki az Add Service Reference menüpont.

3. A megjelenő ablakba adjuk meg a szolgáltatásunk címét. Majd kattintsunk a Go gombra. Fontos: A szolgáltatásnak futnia kell!image

4. Az ablak alján adjuk meg a szolgáltatásunk nevét, amelyen keresztül hivatkozhatunk rá. Az egyszerűség kedvéért most nevezzük el szolgáltatásnak.

 

5. Térjünk vissza a Program.cs –hez, és adjuk hozzá a következő kódot a main részhez: (Az osztással még nem foglalkozunk)

6. Az eredményt pedig a következő képen láthatjuk. Mint ezen egyszerű példán is látjuk a WCF segítségével nagyon könnyen és hatékonyan tudunk elosztott alkalmazásokat készíteni

 image

Reklámok
Kategóriák:Kategorizálatlan
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: