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)
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.