Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

XmlSerializable Dictionary

Îåêßíçóå áðü ôï ìÝëïò spantos. Τελευταία δημοσίευση από το μέλος Mitsaras στις 29-06-2006, 12:56. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-06-2006, 14:18 14278

    XmlSerializable Dictionary

    Αναρωτιέμαι αν κανείς έχει υπόψη του κάποιο τύπο Dictionary που μπορούμε να χρησιμοποιήσουμε σαν παράμετρο σε ένα Web method. Ένα Dictionary που να είναι δηλαδή XmlSerializable.


    MSc Konstantinos Pantos
    MCP Software Engineer
    http://blog.pantos.name
    http://kostas.pantos.name
  •  28-06-2006, 21:44 14283 σε απάντηση της 14278

    Απ: XmlSerializable Dictionary

    Φοβάμαι οτι by default οτιδήποτε κάνει implement το IDictionary δεν είναι XmlSerializable. Η μόνη λύση που έχεις, έιναι να φτιάξεις ένα wrapper ο οποίος είναι XmlSerializable και παίζει με IDictionnaries "απο μέσα", έτσι ώστε να μπορείς να ξαναφτιάξεις το original IDictionary στην απέναντι μεριά ... μόνο αν θες να είσαι σωστός, θα πρέπει να περνάς "απέναντι" και τον τύπο (Type) του IDictionary που χρησιμοποιείς, και απέναντι να ξαναφτιάχνεις ένα object ίδιου τύπου δυναμικά προτού του προσθέσεις τα keys/values ..

    Α, και φυσικά ... θα πρέπει τα keys / values να είναι κι αυτά XmlSerializable :-?
    Angel
    O:]
  •  28-06-2006, 22:02 14284 σε απάντηση της 14278

    Απ: XmlSerializable Dictionary

    Thanks για την άμεση απάντηση...

    Η λύση που μου προτείνεις είναι αυτή που είχα σκεφτεί κι εγώ απλά φανταζόμουνα ότι η Microsoft θα είχε ήδη σκεφτεί κάποιο τρόπο να δώσει λύση στο πρόβλημα αυτό πριν χρειαστεί να γράψουμε κώδικα για να το λύσουμε.

    Προφανώς μείνανε μόνο στη λύση του DataSet σαν το μόνο Data structure που υποστηρίζει XmlSerialization.
    MSc Konstantinos Pantos
    MCP Software Engineer
    http://blog.pantos.name
    http://kostas.pantos.name
  •  28-06-2006, 22:54 14285 σε απάντηση της 14278

    Απ: XmlSerializable Dictionary

    Σε τέτοιες περιπτώσεις, κατέφευγα στο να κάνω binary serialize το προβληματικό αντικείμενο, και να το στείλω ως byte array (κάνοντας την αντίστροφη δουλειά από την άλλη άκρη).

    Δεν ξέρω τι έχανα σε επιδόσεις, αλλά κατάφερνα (μέσω σωστού data hiding) να έχω αρκετά καθαρό κώδικα.

    (Και μια και το 'φερε η κουβέντα, για κάποιον λόγο δε μπορώ να στείλω Images μέσω remoting. Αναγκάζομαι και καταφεύγω στην παραπάνω μέθοδο...)
    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  29-06-2006, 11:10 14296 σε απάντηση της 14285

    Απ: XmlSerializable Dictionary

    Έτσι όμως αυτός που θα χρησιμοποιήσει το service σου θα πρέπει να έχει γνώση του Data structure που πρέπει να κατασκευάσει και να στείλει, δηλαδή η υπηρεσία σου δε θα είναι πραγματικά υπερεσία αλλά ένας τρόπος να κάνεις Remote Calls σε ένα άλλο μηχάνημα.
    MSc Konstantinos Pantos
    MCP Software Engineer
    http://blog.pantos.name
    http://kostas.pantos.name
  •  29-06-2006, 12:56 14302 σε απάντηση της 14278

    Απ: XmlSerializable Dictionary

    Δυστυχώς έτσι είναι.

    Στην περίπτωση που περιγράφω πάντως, έχω ένα private field τύπου byte[], και τα get/set properties κάνουν serialize/deserialize από και προς το field αυτό, οπότε είναι σχετικά transparent η διαδικασία.


    Μην αφήνετε τα media να σας "ταΐζουν"!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems