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

 

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

ActiveX Tutorial

Îåêßíçóå áðü ôï ìÝëïò YiannisF. Τελευταία δημοσίευση από το μέλος Dimitris Papadimitriou στις 19-10-2008, 11:30. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  16-10-2008, 15:01 45501

    ActiveX Tutorial

    Καλησπέρα,

    Εδώ και κάποιες μέρες προσπαθώ να βρω μια άκρη με το θέμα ActiveX. Ο λόγος που τα χρειάζομαι είναι ότι θέλω να φτιάξω ένα file explorer του σκληρού δίσκου του client μέσα από μια ASP.NET web εφαρμογή. Μια δενδροειδή δομή δηλαδή (όπως ο Windows Explorer) και δυνατότητες όπως επιλογή αρχείων και uploading αυτών μαζί με μεταδεδομένα (όπως creation date, modification date, κλπ). Έχω την αίσθηση ότι κάτι τέτοιο μπορεί να γίνει μόνο με ActiveX ή Java Applets (διορθώστε με αν κάνω λάθος) και καθότι με τα τελευταία δεν τα πάω πολύ καλά αποφάσισα να την ψάξω με τα ActiveX. Το πρόβλημα είναι ότι μετά από αρκετά εκτενές ψάξιμο δεν κατάφερα να βρω ένα ολοκληρωμένο τρόπο για να κάνω τα εξής: να αναπτύξω το ActiveX Application, να το ενσωματώσω σε σελίδα έτσι ώστε να κατεβαίνει στον client του χρήστη και να τρέχει απρόσκοπτα από εκεί, να ενημερωθώ σχετικά με τα security issues και το τι πρέπει να λάβω υπόψη μου γι' αυτά.

    Μήπως μπορεί να μου υποδείξει κάποιος αν έχει βρει κάποιο εμπεριστατωμένο άρθρο/παράδειγμα/tutorial/how-to/βιβλίο που να εξηγεί τα παραπάνω;

    Ασφαλώς είμαι ανοιχτός αν κάποιος έχει μου προτείνει εναλλακτικούς τρόπους/τεχνολογίες που θα μπορούσα να χρησιμοποιήσω για να αναπτύξω τη λειτουργικότητα αυτή που με ενδιαφέρει.

    Ευχαριστώ

    .::yf::.
    Δημοσίευση στην κατηγορία:
  •  18-10-2008, 09:39 45552 σε απάντηση της 45501

    Απ: ActiveX Tutorial

    Δεν νομίζω ότι έχει πάρει το μάτι μου κάπου κάποιο έτοιμο tutorial για managed κώδικα πως να φτιάξεις ActiveX control που να τρέχει μέσα στον Browser. Όταν είχε ξεκινήσει το .NET Framework, είχε παρουσιάσει παρεμφερείς τεχνολογίες για porting Java applets σε managed κώδικα με J#. Δεν δόθηκε όμως και η ανάλογη συνέχεια.

    Από την άλλη μεριά, οποιοδήποτε managed component/control με COM interface που υλοποιεί το IObjectSafety θα πρέπει να κάνει την δουλειά- δες ένα σχετικό άρθρο στο Microsoft KB: 182598 How To Implement IObjectSafety in Visual Basic Controls. Δεν ξέρω όμως πόσο πρακτικό θα ήταν, μιας και θα απαιτείται να είναι εγκαταστημένη η έκδοση του .NET Framerwork που θα είναι compiled το component σου.

    Πιθανώς θα ήταν καλή ιδέα, να εξετάσεις και άλλες τεχνολογίες πχ Silverlight, πως θα μπορούσαν να υλοποιήσουν ένα τέτοιο σενάριο. Υπάρχει ένα σχετικό webcast, πως κάνεις upload αρχείων από Silverlight στο silverlight.net.

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  18-10-2008, 15:17 45567 σε απάντηση της 45552

    Απ: ActiveX Tutorial

    Επειδή έχω περάσει πολύ χρόνο σε αυτό το θέμα την τελευταία χρονιά, θα σου προτείνω κι εγώ να κοιτάξεις το silverlight ή κάποιο έτοιμο component Smile

    Αν διαλέξεις να λοποιήσεις κάτι όμως, εκτός απο πολύ σποραδικό documentation, ετοιμάσου να μπλέξεις με COM interfaces, guids, security settings κι ένα σωρό άλλες μικρές δυσκολίες.

    Για παράδειγμα, ένα απο τα προβλήματα ... πριν καιρό, ξεκινήσαμε με ένα τέτοιο control μέσα σε html σελίδα, το οποίο άκουγε για notifications, άνοιγε ένα socket και άκουγε, και έκανε και κάποιες εκτυπώσεις. Στην αρχή, χρησιμοποιώντας το <object> tag, γινόταν download το activeX απο το server - και locally cached.

    Μυριάδες τα προβλήματα, τόσο με security και zones στα settings του .NET, όσο και στον explorer, ειδικά με το caching σε περιπτώσεις που χρειάζεται να αλλάξεις versions. Η ευκολία του download απ'το server είναι απατηλή.

    Επειδή λοιπόν έτσι κι αλλιώς πρέπει να γίνουν configuration changes στους clients, για να καθορίσεις security settings, αλλάξαμε την deployment νοοτροπία μας, και τώρα δίνουμε έναν installer, ο οποίος κάνει register τοπικά το activex control με το regasm και απλώς η σελίδα μας το κάνει instantiate με classid.

    Αν τελικά το κάνεις να δουλέψει όμως, κερδίζεις ένα activex object, απόλυτα προσβάσιμο απο το script της σελίδας σου. Properties, methods, events, σου δίνει τα πάντα. Άν όμως η περιγραφή πιο πάνω σου ακούγεται ψιλο-εξωγήινη, όπως θα μου φαινόταν κι εμένα πέρσι τέτοιον καιρό, κοίτα αλλού.

    Ο κόπος που δίνεις δεν αντικατοπτρίζεται στο αποτέλεσμα, είναι απλώς ο ίδιος η ανταμοιβή του :D

    Angel
    O:]
  •  18-10-2008, 16:37 45568 σε απάντηση της 45567

    Απ: ActiveX Tutorial

    Παιδιά, το Silverlight δεν παίζει... Δεν έχει πρόσβαση στο physical file system παρά μόνο στο isolated storage.


    Vir prudens non contra ventum mingit
  •  19-10-2008, 02:49 45574 σε απάντηση της 45568

    Απ: ActiveX Tutorial

    ... drinko ... θα κοιτάξω στα κοιτάπια μπας και βρώ κανένα link για how-to, αν θες επικοινώνησε και μαζί μου με pm για sources αν βρείς τα δύσκολα.

    Angel
    O:]
  •  19-10-2008, 02:54 45575 σε απάντηση της 45574

    Απ: ActiveX Tutorial

    ... βέβαια αυτό που θές, μπορείς να το κάνεις με το Scripting.FileSystemObject και απλή javascript χωρίς να μπλέξεις με τρελλά  πράγματα. Θα γκρινιάξει ο Explorer αν δεν είσαι trusted, αλλά αυτό είναι πολύ μικρό πρόβλημα σε σχέση με .NET active x controls ...

    Angel
    O:]
  •  19-10-2008, 11:30 45576 σε απάντηση της 45575

    Απ: ActiveX Tutorial

    Ρίξε μια ματιά σε αυτό το άρθρο: Hosting .NET Applications in the Browser

    Είναι λίγο παλιό (2003) αλλά θυμάμαι ότι το είχα χρησιμοποιήσει τότε. Αναφέρει και το isolated storage αλλά και πως μπορείς να έχεις πρόσβαση έξω από αυτό. Δυστηχώς πέρασε πολύς καιρός και δεν θυμάμαι αν υπάρχουν πράγματα που πρέπει να προσέξεις.


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems