[.NET C#] WebServices & structs

Pagina: 1
Acties:

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Ik ben samen met iemand bezig om een uitgebreidde WebService te bouwen.
Nu vraag ik mij af of het beter is om objecten of structs te retouneren.

De meeste informatie wordt uit een database gehaald en bijna een op een geretouneerd.

Heeft iemand hier ervaring mee en of een mening over. Misschien heeft iemand zelfs een ander id.

  • EfBe
  • Registratie: Januari 2000
  • Niet online
De webservice zal altijd de objects / structs moeten serializen. Dat maakt op zich niet zoveel uit. De binaire serializer heeft een bug mbt structs in objectlists, dus als je die wilt gaan gebruiken, kies dan voor classes ipv structs. Voor het gebruik aan de client kant heeft het geen effect, tenzij deze de structs bv in een arraylist wil stoppen en die daarin wil gaan wijzigen, dat is erg lastig omdat het value types zijn en dit niet werkt:

ArrayList alFoo = new ArrayList();
alFoo.Add(myStruct);

int bar = ((MyStructType)alFoo[0]).myStructProperty; // compiler error

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • vinnux
  • Registratie: Maart 2001
  • Niet online
[b]EfBe schreef op 01 March 2003 @ 12:22:
int bar = ((MyStructType)alFoo[0]).myStructProperty; // compiler error
Ja dat geeft inderdaad en compile fout. Echter can die met de CopyTo functie omzeilt worden. Maar de vraag is is dit effecienter dan gewoon objecten te gebruiken.

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Schop

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Omdat je geneigd bent met references te werken in lijsten en niet met values (althans, niet wanneer het samengestelde types zijn zoals structs), is het handiger met classes te werken.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • xylone
  • Registratie: December 2001
  • Laatst online: 12-05 14:28
Ik zou het met DataSets doen. Daar zijn wij nu ook mee bezig, en deze kun je heel simpel vullen in je DAO Layer

  • vinnux
  • Registratie: Maart 2001
  • Niet online
xylone schreef op 04 maart 2003 @ 09:10:
Ik zou het met DataSets doen. Daar zijn wij nu ook mee bezig, en deze kun je heel simpel vullen in je DAO Layer
Echter hebben DataSets nogal een enorme overhead en zijn ze performence gewijs niet de slimste keuze toch?
Pagina: 1