HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A szerveren futó Web-alkalmazások lekérdezése


Példaprogram letöltése

19079 bájt

A Windows opcionálisan telepíthető Web-szervere – IIS (Internet Information Services) – segítségével webes alkalmazásainkat minden nehézség nélkül publikálhatjuk. Használata egyszerű. Külön előnye, hogy objektumai segítségével információkat szerezhetünk a telepített alkalmazásokról, így a Web-szervizekről is. Cikkünkben azt vizsgáljuk, hogyan tudjuk a szerver webes alkalmazásait lekérdezni.

Mellékelt példa megnyitása előtt szükséges egy TestService nevű virtuális könyvtár létrehozása, mely a példa könyvtárában található TestService mappára mutat. Ehhez futtassa le a mellékelt CreateVD.js parancsállományt.
A mellékelt alkalmazás űrlapjának bal oldali szegmensében egy fastruktúra lesz látható a program indulása után, mely az IIS szerveren található valamennyi webes könyvtár nevét megjeleníti. A jobb oldali böngészőkontrolba pedig a kiválasztott szervizalkalmazás tetszőleges lapja tölthető be.
A szerveren található alkalmazások, szervizek lekérdezéséhez szükséges metódusokat a Client projekt Utility osztályában valósítottuk meg.
A lekérdezett adatok egy DataSet objektum két DataTable táblájában tárolódnak, melyet a GetDataSet metódussal hozunk létre.
A GetServices metódusban kérdezzük le a szerver alkalmazásait, és töltjük be ezeket az adatokat a DataSet objektumba. Az IIS szerver elérése az első lépés, melyet a DirectoryEntry osztály segítségével teszünk meg.
string wwwPath = "IIS://localhost/W3svc";
DirectoryEntry service = new DirectoryEntry(wwwPath);
Ezt követően végig kell haladnunk a bejegyzéseken. Amennyiben a bejegyzések SchemaClassName property-je a „IIsWebServer” karakterlánccal azonos, vagyis Web-szerverről van szó, akkor annak tulajdonságait lekérdezzük, és a megfelelő adattáblába beszúrunk egy-egy rekordot.
if (entry.SchemaClassName == "IIsWebServer")
{
  DataRow dr = ds.Tables[0].NewRow();
  string hostname = entry.Properties["ServerBindings"].Value.ToString();
  dr["NAME"] = entry.Properties["ServerComment"].Value.ToString();
  dr["HOSTNAME"] = hostname;
  ds.Tables[0].Rows.Add(dr);
  ...
A ServerBindings tulajdonsága adja meg bejegyzés végponti információit. Ennek formátuma: IP:Port:Hostname.
A következő lépés, hogy a virtuális mappákon haladunk végig. Ezeket az IIsWebVirtualDir objektumtípus azonosítja. A virtuális mappák fizikai elérési útvonalait a GetDirectoryEntryPath metódussal kérdezhetjük le minden bejegyzés esetében.
A GetASMXFiles metódussal pedig a Web-szervizalkalmazás .asmx állományait gyűjthetjük ki, melyeket meg is jelenítünk a fastruktúrában.
A kliensalkalmazásban a PopulateTreeView metódusban töltjük fel a TreeView kontrolt a DataSet objektum megfelelő táblájában fellelhető bejegyzések adatival.
Itt a gyökérelem a számítógép neve lesz. A kiolvasott adatok alapján megjelenítjük a webes alkalmazások virtuális mappáinak nevét, és amennyiben Web-szervizről van szó, felfűzünk egy csomópontot, melynek szövege az állomány neve lesz. A csomópontokat a CreateNode metódus készíti el és fűzi fel a fára.

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 769. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |