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

 

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

DLL + Web Service

Îåêßíçóå áðü ôï ìÝëïò Adamantios. Τελευταία δημοσίευση από το μέλος jsr στις 15-06-2007, 00:46. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  13-02-2007, 20:12 24944

    DLL + Web Service

    Καλησπερίζω την παρέα.

     

    Προσπαθώ να βγάλω άκρη με ένα πρόβλημα που…. δεν δείχνει να είναι πρόβλημα!!!! J Ας πάρουμε όμως τα πράγματα από την αρχή.

     

    Έχουμε ένα ωραίο dllακι γραμμένο σε VB6 το οποίο παίζει άψογα τα τελευταία 2 χρόνια. Μου ζητήθηκε, λοιπόν, να πάρω αυτό το dllακι, και να το κάνω import σε ένα web service. Έφτιαξα, λοιπόν ένα web service, το έκανα reference, το VS μου έφτιαξε ένα ωραίο interop και όσο το έτρεχα από τον cassini όλα ήταν άψογα! Μόλις όμως το να publish και πήγα να το τρέξω από τον IIS έφαγα μια χοντρότατη μα κομψότατη ήττα!!!! J Το dll ενώ δείχνει να δουλεύει σωστά (το dll επικοινωνεί με ένα activex exe και βλέπω στον automation manager ότι όταν το καλώ σηκώνονται objects), δεν γυρνάει τιμές στο WS!!!!

     

    Καμιά ιδέα;;;;

     

     


    A wise man does not urinate against the wind Smile
  •  13-02-2007, 23:57 24961 σε απάντηση της 24944

    Απ: DLL + Web Service

    Όταν χρησιμοποιείς τον Cassini το web application τρέχει με τα δικά σου credentials, ενώ κάτω από τον IIS τρέχει με το χρήστη ASPNET. Αυτός είναι απλός χρήστης, και δεν έχει δικαίωμα να σηκώσει COM exe server. Αυτό το ρυθμίζεις με το dcomcnfg.exe. Γενικά μοιάζει να έχεις πρόβλημα security related, αν και αναρωτιέμαι γιατί δεν παίρνεις κανένα exception. Μήπως το VB6 dll περιέχει διάφορα On Error Resume Next;

    Νατάσα Μανουσοπούλου
  •  14-02-2007, 09:41 24977 σε απάντηση της 24961

    Απ: DLL + Web Service

    Νατάσα Μανουσοπούλου:
    Όταν χρησιμοποιείς τον Cassini το web application τρέχει με τα δικά σου credentials, ενώ κάτω από τον IIS τρέχει με το χρήστη ASPNET. Αυτός είναι απλός χρήστης, και δεν έχει δικαίωμα να σηκώσει COM exe server. Αυτό το ρυθμίζεις με το dcomcnfg.exe. Γενικά μοιάζει να έχεις πρόβλημα security related, αν και αναρωτιέμαι γιατί δεν παίρνεις κανένα exception. Μήπως το VB6 dll περιέχει διάφορα On Error Resume Next;

    Καλημέρα Νατάσα.

    Στο web.config έβαλα την εξής εγγραφή <identity impersonate ="true" userName ="ΧΧΧΧΧ\administrator" password ="ΧΧΧΧΧΧ" /> με την ελπίδα ότι θα λύσει το πρόβλημα μου, αλλά δυστυχώς είχα και πάλι το ίδιο πρόβλημα. Δεν ξέρω αν αυτό εννοούσες παραπάνω ή κάτι άλλο…..

     


    A wise man does not urinate against the wind Smile
  •  14-02-2007, 10:18 24979 σε απάντηση της 24977

    Απ: DLL + Web Service

    Adamantios:
    Στο web.config έβαλα την εξής εγγραφή <identity impersonate ="true" userName ="ΧΧΧΧΧ\administrator" password ="ΧΧΧΧΧΧ" /> με την ελπίδα ότι θα λύσει το πρόβλημα μου, αλλά δυστυχώς είχα και πάλι το ίδιο πρόβλημα. Δεν ξέρω αν αυτό εννοούσες παραπάνω ή κάτι άλλο…..


    Να σου πω την αλήθεια, δεν εννοούσα αυτό. Μάλλον δεν είναι πολύ καλή ιδέα να κάνεις impersonate τον local admin γιατί έχει πολύ περισσότερες δυνατότητες από ό,τι χρειάζεσαι. Καλύτερα να δώσεις ρητά τα σχετικά δικαιώματα στον ASPNET (το οποίο σου είχα προτείνει αρχικά).
    Έχε επίσης υπόψη ότι το explicit impersonate που κάνεις δε δουλεύει σε Windows 2000.

    Κοίτα το event log, εκεί θα δεις τα όποια μηνύματα έχουν προκληθεί από security errors.

    Νατάσα Μανουσοπούλου
  •  15-06-2007, 00:46 32930 σε απάντηση της 24979

    Απ: DLL + Web Service

    Γενικά είναι κακή τακτική να καρφώνεις το impersonation μέσα στο web.config. Το πιθανότερο είναι, όπως σου είπε και η Νατάσα,  ότι λαμβάνει χώρα κάποιο λάθος το οποίο χάνεται λόγω καποιου on error resume next. Θα πρέπει επομένως να κανεις  inspect τον κώδικά σου και να προσθέσεις tracing για να βρεις τι φταίει.

    Επίσης για να αποφύγεις το θέμα με το impersonation θα μπορούσες να φτιάξεις ένα COM+ application μέσα στο οποιο θα κάνεις host το vb6 dll με τα καταλληλα credentials.

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