Remoting opgave  R03

 

I denne opgave skal du se at man ved brug af et remote objekt(vare)

kan hente objekter(varebevægelser) over på klienten og bruge dem(varebevægelserne) uden at det sker remote

 

Opgaven bygger videre på opgave R01, idet du også kan anvende R02 som udgangspunkt

 

public interface IVarebevaegelse

{

    int     Antal {get;}

    int     Dato {get;}

    float   Stykpris {get;}

    int     Art {get;}    // 0 for indkøb og 1 for salg

}

Varebevægelse skal desuden implementere ToString metoden

 

 

 

Interfacet til vare fra opgave R01 / R02 skal ændres/udvides med følgende :

 

Metoderne

    void  RegistrerVarerSolgt (int antal);

    void  RegistrerVarerIndkøbt(int antal);

Ændres til

    IVarebevaegelse RegistrerVarerSolgt(int antal, int dato, float stykpris);

    IVarebevaegelse RegistrerVarerIndkøbt(int antal, int dato, float stykpris);

Og der tilføles desuden

    IVarebevaegelse[] GetBevægelser ();

 

Vare skal desuden nu indeholde en liste med varebevægelser List<IVarebevægelse>

I metoderne for registrering af vare solgt / indkøbt skal der oprettes et varebevægelses-objekt

og dette skal tilføjes listen

 

Bemærk: Når klienten skal deserialisere (Varebevægelse) objekter skal klassen kendes.
Det er således nødvendigt, at der i klient projektet er en reference til det library (projekt / dll) hvor klassen er defineret (Varebevægelse)

 

Opgave

 

a)     Programmer en implementering af varebevægelse klassen (kod varebevægelse klassen), der ikke skal være remote, men serialiserbar ,
samt vare klassen der stadig skal kunne være remote.

 

b)     Programmer en server, der kan registrere 1 remote vare eller 1 remote varekatalog.

 

c)     Programmer en klient, der kan tilgå remote objektet på serveren,
og gennem dette registrere nogle indkøb og salg på en vare, for herefter at
hente alle bevægelserne og udskrive dem.

 

d)     Prøv at køre med flere klienter.

 

e)     Tilret klasserne så de er trådsikre.