[C# 2003] Serialize kan geen functies serializen?

Pagina: 1
Acties:

  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Topicstarter
Als ik een webservice hebt die van een struct gebruik maakt waarin ik de ToString() heb ge-override. Waarom kan ik die dan vervolgens niet in mijn applicatie aanroepen?

Dat het niet mogelijk is heb ik inmiddels in de MSDN gevonden, waarom echter is mij onbekend. Zou dit in teveel traffic op het netwerk resulteren?

Als ik in de solution explorer een beetje rondneus zie ik idd dat alleen de values gesync-ed worden. Mijn vraag blijft dus waarom is dit zo? En is er eventueel een andere manier waarmee je een functie naar een client kan krijgen?

What are clouds made of? Linux servers mostly!


  • whoami
  • Registratie: December 2000
  • Laatst online: 14-02 20:35
Waarom zou je een method serializeren ? Normaal gezien serializeer je zowiezo enkel de state.

Echter, ik denk dat jij iets anders bedoelt. :)
Als je gebruik maakt van webservices, dan worden er proxy classes / structs gemaakt van de user defined types die jij exposed via die webservice.
Stel je hebt een webmethod die een custom class 'Klant' returned. Die webservice zal een 'proxy' van die Klant class genereren, en niet de 'echte' class gaan gebruiken.
Waarom is heel simpel: aan de client kant heb je een implementatie nodig van die Klant class, en die is er niet. Je gaat nl. niet je echte Klant class gaan deployen bij de client.
Je bent er trouwens niet eens zeker van of het programma die jouw webservice gebruikt, wel een .NET programma is, of als er uberhaupt het .NET framework geinstalleerd staat op de client.

Daarom worden er dus 'domme' proxy objecten gegenereerd.

https://fgheysels.github.io/


  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Topicstarter
;) Kijk. dat antwoord verklaart een hoop en is zo helder als wat.

Dank!!

What are clouds made of? Linux servers mostly!


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

Stel je hebt een webmethod die een custom class 'Klant' returned. Die webservice zal een 'proxy' van die Klant class genereren, en niet de 'echte' class gaan gebruiken.
Maar stel dat server en client van dezelfde libraries gebruikmaken. Is het dan mogelijk om dit tóch voor elkaar te krijgen? Dus dat server en client dezelfde "echte" class gebruiken?

日本!🎌


  • whoami
  • Registratie: December 2000
  • Laatst online: 14-02 20:35
Dan moet je remoting gaan gebruiken, en geen webservices, en dan zorg je ervoor dat je Klant class Serializable is.

https://fgheysels.github.io/