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

 

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

Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

Îåêßíçóå áðü ôï ìÝëïò dimkasta. Τελευταία δημοσίευση από το μέλος dimkasta στις 22-01-2007, 12:29. Υπάρχουν 11 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-12-2006, 06:41 22814

    Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    Υπάρχει κάποιος τρόπος να χρησιμοποιήσω τον ConfigurationManager για να αλλάξω on run-time ένα connection string σε μια βάση, αλλά σε επίπεδο session και όχι application?

    Το πρόβλημα είναι ότι διαφορετικοί χρήστες πρέπει να συνδέονται σε ομοειδείς αλλά διαφορετικές βάσεις με παρόμοια πληροφορία, ανάλογα με τη γεωγραφική τους θέση. Μπορεί να γίνει κάτι τέτοιο κατευθείαν ή θα πρέπει να κάνω αλχημείες?

    Thanks      


    Simple Photography
  •  27-12-2006, 10:16 22818 σε απάντηση της 22814

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    Νομίζω ότι θα έπρεπε να ψάξεις για λύση σε διαφορετικό επίπεδο...

    Σίγουρα σε κάποιο σημείο "διαβάζεις" το conection string από το .config αρχείο για να το χρησιμοποιήσεις - σε εκείνο το σημείο μπορεί να μπει μια λογική και να μην διαβάζει το "Default" αλλά κάποιο άλλο σύμφωνα με κάποια κριτήρια, όπως την IP του χρήστη...

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  27-12-2006, 12:23 22825 σε απάντηση της 22814

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    Μήπως έχει κάποιος ιδέα τι μπορώ να κάνω override για να παρακάμψω μαζικά το μηχανισμό που χρησιμοποιούνε τα table adapters των typed datasets για να διαβάζουνε το connection string?

    Έκανα μια αναζήτηση αλλά ψιλοχάθηκα...

    Δεν έχω πρόχειρο και VS μπροστά μου να δοκιμάσω πράματα....
    Simple Photography
  •  27-12-2006, 13:08 22827 σε απάντηση της 22825

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    Μπορείς να αλλάξεις το Connection property του TableAdapter πριν τον χρησιμοποιήσεις.


    Vir prudens non contra ventum mingit
  •  27-12-2006, 19:41 22849 σε απάντηση της 22827

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

     KelMan wrote:

    Μπορείς να αλλάξεις το Connection property του TableAdapter πριν τον χρησιμοποιήσεις.


    Επιπλέον θα μπορούσες να έχεις μια master βάση που θα συνδέονται όλοι οι χρήστες, και εκεί σε έναν πίνακα να έχεις τα connectionstrings για τις υπολοιπες βάσεις κ.λ.π.

    Harry Tsavdaris
  •  28-12-2006, 09:59 22858 σε απάντηση της 22849

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    Τα connection strings θα είναι όλα μέσα στο web.config και το διάβασμα θα γίνεται με τη βοήθεια του ConfigurationManager.

    Το να τα κρατάω στη βάση είναι μια άλλη προσέγγιση, αλλά ενδέχεται να πρέπει να τα χρησιμοποιήσω και αλλού πχ για localized στατιστικά, οπότε χρειάζεται και στο web.config.
    Simple Photography
  •  28-12-2006, 10:32 22860 σε απάντηση της 22858

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    (Υποθέτω ότι μιλάμε για .ΝΕΤ 2.0)

    Αν δεις τους TableAdapters, έχουν μέσα τους μια μέθοδο σαν κι αυτή:
    private void InitConnection()
    {
        this._connection = new System.Data.SqlClient.SqlConnection();
        this._connection.ConnectionString = global::MyApp.Properties.Settings.Default.MasterDBConnectionString;
    }


    Η ανάγνωση των configuration settings γίνεται λοιπόν με την κλάση Settings που παράγεται από τον designer και είναι partial class. Σε αυτήν περιέχεται ένα property σαν το MasterDBConnectionString για το connection string, το οποίο διαβάζει ορισμένη τιμή του Web config. Αν εσύ αφαιρέσεις το configuration setting αυτό από το Settings file και φτάξεις ένα δεύτερο, δικό σου αρχείο για την Settings (είναι partial έτσι κι αλλιώς) μπορείς να ορίσεις εκ νέου το property αυτό και να του δώσεις την υλοποίηση που κάνει τον έλεγχο ανά χρήστη.


    Νατάσα Μανουσοπούλου
  •  28-12-2006, 13:27 22864 σε απάντηση της 22860

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    Αυτό ακριβώς που ήθελα. Σε ευχαριστώ πολύ. Έψαξα λίγο χτές αλλά δεν έβγαλα κάποια άκρη.

    Όταν φτιάξω κάτι θα το ανεβάσω κάπου να υπάρχει.
    Simple Photography
  •  19-01-2007, 01:47 23730 σε απάντηση της 22860

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    OΚ σήμερα βρήκα λίγο χρόνο να το ψάξω λίγο παραπάνω.

    Ξεκίνησα αρχικά να βρώ την αναφορά στην κλάση Settings, αλλά δεν μπορώ να βρώ τον κώδικα. Για την ακρίβεια δεν μπορώ να δω ούτε τον κώδικα από τα adapters. Κάτω από τα XSD υπάρχουνε μόνο τα XSS. Σορρυ για τη "noobia"... Μπορείτε να με βοηθήσετε να δω και τα vb αρχεία? Το "Show All Files" είναι disabled.

    Από κει και πέρα, έχω connection string μόνο μέσα στο web.config. Είδα στο Ινετ ότι κάποιοι βάζουνε και μέσα σε App.config. Παίζει κάποιο ρόλο?

    To Settings κάτω από ποιο NameSpace φτιάχνεται?

    Από κει και πέρα δοκίμασα να κάνω κατευθείαν override τον κώδικα...

    Είπα λοιπόν αν δοκιμάσω να κάνω κατευθείαν override το InitConnection ενός από τους adapters. Το κακό είναι ότι δεν έχω πρόσβαση στο connection property, ούτε στο string για να τους ορίσω τιμή.

    Μπορείτε να μου δώσετε ένα παράδειγμα σε VB.NET? Έστω πχ ότι έχω ένα DataSet Clients και ένα dataset μέσα PersonalInfo. Δεν ορίζω πουθενά συγκεκριμένο NameSpace. Aπλά χρησιμοποίησα τους wizzards και έφτιαξα τα Adapters.

    Χίλια Ευχαριστώ


    Simple Photography
  •  22-01-2007, 10:52 23834 σε απάντηση της 23730

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    Κανείς?

    Pretty pleeeeeeeeeeeeeeeeeeeeease :D
    Simple Photography
  •  22-01-2007, 11:29 23836 σε απάντηση της 23834

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    Αντί να κάνεις όλα τα παραπάνω, θα μπορούσα να προτείνω κάτι πιό απλό (εκτός αν δεν εφαρμόζεται στην περίπτωσή σου):

    Μέσα από τον dataset designer, πήγαινε στα properties του κάθε tableadapter σου και άλλαξε το ConnectionModifier property σε Public. Αυτό σου δίνει access στο Connection Property του κάθε table adapter έτσι ωστε να μπορείς να το θέσεις στο δικό σου connection string.

    Αν έχεις ήδη ένα σύστημα που τραβάει connection strings από το web.config όπως το θέλεις και χρησιμοποιείς τα typed datasets προγραμματιστικά, αυτή η λύση πιστεύω σε καλύπτει με τον πιό απλό τρόπο. Αν οχι, νίπτω τας χείρας μου :)


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  22-01-2007, 12:29 23840 σε απάντηση της 23836

    Απ: Αλλαγή σε connection strings στο web.config αλλά σε επίπεδο session

    OK σωστό αυτό.

    Το θέμα είναι ότι χρησιμοποιώ objectDatasource και δεν καλώ τον adapter σε κώδικα.

    Οπότε θα πρέπει να βρώ το ανάλογο event του datasource και να βάλω τον κώδικα εκεί...

    Ή και πάλι να προσθέσω κώδικα σε ανάλογο event του adapter...

    Θα το δώ σήμερα...

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