
A mellékelt példa megnyitása előtt szükséges egy IFService nevű virtuális könyvtár létrehozása, mely a példa könyvtárában található IFService mappára mutat. Ehhez futtassa le a mellékelt CreateVD.js parancsállományt.
Interfész létrehozása
Az IFService projekt IMethods.cs állományában található meg az interfész kódja, mely egy függvény deklarációját tartalmazza.
public interface IMethods
{
string GetInformation();
}
A GetInformation metódust fogjuk implementálni a projekt két szervizében.
Szervizosztályok létrehozása
Az InfoService01 és InfoService02 osztályok mindegyike örökli az IMethods interfész jellemzőit, vagyis az ősök között fel kel tüntetni az interfész nevét is a WebService osztály mellett.
public class InfoService01 : System.Web.Services.WebService, IMethods
{
...
A metódust az egyik szerviz úgy implementálja, hogy a függvény visszatérési értéke a szervizt futtató számítógép neve legyen.
[WebMethod]
public string GetInformation()
{
return "A szerver gép neve: " + Environment.MachineName;
}
Míg a másik szerviz úgy, hogy a szerver IP címével térjen vissza.
[WebMethod]
public string GetInformation()
{
return "Felhasználó IP-címe: " + this.Context.Request.UserHostAddress;
}
Kliensalkalmazás létrehozása
A kliensalkalmazásban a két szervizhez két webes referenciára van szükség. A referenciák hozzáadása után a proxy osztályok kódját tartalmazó állományok a kliensalkalmazás Web References mappájának localhost1 és localhost2 mappáiban találhatók meg.
A proxy osztályok példányosítása és a metódus meghívása mindkét szerviz esetén azonos módon történik, csupán a végeredmény különböző.
localhost1.InfoService01 proxy = new localhost1.InfoService01();
label4.Text = proxy.GetInformation();
...
A Form LEKÉRDEZÉS feliratú gombjaival hívhatjuk meg a metódusokat. A visszatérési értékek a két címkén olvashatók.