Kezdőlap > Kategorizálatlan > Windows Communication Foundatin – PerformanceCounter Client

Windows Communication Foundatin – PerformanceCounter Client

2008. június 5. csütörtök Hozzászólás Go to comments

Most, hogy elkészítettük a szerverünket készítsük el, hozzá a kliensalkalmazást is. Indítsuk el még egy Visual Studio 2008-at rendszergazdai módban, majd a válasszuk ki a File -> New -> Project… menüpontot és a megjelenő ablakban válasszuk ki a templatek közül a Windows Forms Application –t. A neve legyen például: GetPerformance, majd kattintsunk az OK gombra. Ezután dobjuk össze a formunkat, úgy ahogy az ábrán is látható.clip_image004

clip_image002

A Form mérete legyen 537*288. Húzzunk fel 2 Buttont és egy labelt a toolboxról, az egyik button Text tulajdonsága legyen „Start” (A neme tulajdonsága pedig btnStart) a másiknak pedig „Stop” (A neme tulajdonsága pedig btnStop). A Stop nyomógomb Enabled tulajdonsága legyen false. Ezt követően hozzunk fel még egy pictureBox controlt, amelynek mérete 500*200. A picturebox image tulajdonságát állítsuk át, és adjuk hozzá a mellékelt Background fájlt. Majd egy Timer controlt is tegyünk a formunkra, amelynek az interval tulajdonságát állítsuk 1000-re. Minden tulajdonságot legegyszerűbben a Properties Window segítségével beállíthatunk a Visual Studioban.

clip_image006Ha ezzel megvagyunk, kattintsunk jobb egérgombbal a Solution Explorerben a References-re és válasszuk ki a megjelenő helyi menüből az Add Service Reference menüpontot. A megjelenő ablakban adjuk meg azt a címet, amelyen a szolgáltatás interfészét elérhetjük. A cím jelen esetben a http://localhost:8080/Perf majd kattintsunk a Go nyomógombra. Néhány másodpercen belül, ha a címen megtalálta a szolgáltatást a következő képernyő fogad minket. Ha ezt látjuk, akkor a Namespacehez írjuk azt, hogy „szolg”. Ez lesz a névtere a szolgáltatásunknak. Majd kattintsunk az OK gombra.

Figyelem! A Szerveralkalmazásnak futnia kell, ahhoz, hogy elérjük és lekérjük az adatokat!

clip_image008

Most, hogy már a formunkat is kialakítottuk, és a szolgáltatásunkat is elértük, már csak a kódolás maradt hátra.

Deklaráljuk a szolg.GetDataClientet amit a form konstruktorában majd példányosítsunk. Szükségünk lesz egy int típusú graphIncrement változóra, amely a vonalak rajzolásához kell majd.

image

Most kattintsunk a btnStartra és a btnStopra gombokra is kétszer,ezzel bekötjük a gomb click eseményét. A Start gomb megnyomásánál annyi történik, hogy a Stop gombot engedélyezzük a Startot meg letiltjuk. Valamint a Timert engedélyezzük, hogy másodpercenként kérje le a szervertől az adatokat.

A kód így fog kinézni:

image

A Stop gomb megnyomására épp ellenkezője történik, mint a Start gomb megnyomásánál. Azaz letiltódik a Stop gombot, a Start gombot engedélyezzük és a timert is letiltjuk.

A stop gombhoz tartozó esemény kódja tehát így fog kinézni:

image

Most kattintsunk kétszer a timer komponensre. Ezzel bekötjük a timer tick eseményét. Ehhez írjuk be a lentebb látható kódot. A kód nem csinál mást, mint a szervertől másodpercenként lekéri az adatokat, amit egyfelől megjelenít egy labelben, másfelől pedig egy vonalat rajzol a picutreboxra annak arányában amekkora a kihasználtság. És ha elérte a picturebox szélét akkor törli és újrakezdi a rajzolást.

image

A teljes kód tehát így néz ki:

image

Ha elindítjuk az alkalmazásunkat, és rákattintunk a Start gombra akkor kb. a következő ábrát láthatjuk. Természetesen feltétel az is, hogy a servernek futnia kell.

clip_image002[4]

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: