Tags:
c#
Hej,
Jeg har et problem.
Jeg har lavet et webservice testprojekt, hvor min webservice foruden Service.asmx klassen, indeholder to klasser, en Person- og en PersonList-klasse. Personliste-klassen bruges til at holde styr på de personer der oprettes.
I Service.asmx har jeg en metode så klienten kan hente et Personliste objekt.
[WebMethod]
public PersonList GetPersonList()
{
return personList;
}
Ovre på klientsiden kender klienten fint til PersonList klassen (går ud fra at da skyldes at klassen bruges som returtype i webmetoden).
Men når jeg prøver at hente et Person objekt ud fra personlisten, så kender klienten ikke til Person-klassen og jeg kan dermed ikke kalde de metoder og hente det data der ligger i Person-objekterne.
Nogen der ved hvordan jeg løser dette? Skal Person-klassen annoteres med noget bestemt eller...?
Håber I kan hjælpe mig.
Med venlig hilsen,
Rasmus
3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Når du laver en web-reference til en webservice i Visual Studio, så vil den fx blive ryge i namespacet dk.myWebservice. I dette namespace kan du så tilgå de objekter, som er muligt at hente ud fra servicen, ligesom du her kan lave instansen af servicen.
dk.myWebservice.MyService service = new dk.myWebservice.MyService();
dk.myWebservice.PersonList list = service.GetPersonList();
Herefter burde du kunne hente hvert Person-objekt ud ved at sige (altså ligger Person-klassen i samme namespace):
dk.myWebservice.Person p = list.Get(1)
eller noget i den stil.
Håber det kunne bruges.
0
De klasser som klienten kan se på din webservice indeholder alene de public properties, og ingen metoder.
Du skal "gentage" koden for metoderne i klient-koden.
0