Εχω δημιουργήσει ένα DAL (Class Library) το οποίο περιέχει μόνο Typed Datasets. Αυτό το χρησιμοποιώ σε μια Windows Forms εφαρμογή.
Θέλοντας να αποφύγω να φτιάξω παραπλήσιο DAL για ένα Web Site που εκμεταλλεύεται την ίδια database, σκέφτηκα να χρησιμοποιήσω το DAL που ήδη έχω φτιάξει. (Σημείωση: Πρόκειται για DNN module αλλά σε αυτό το context δεν έχει - πιστεύω - ιδιαίτερη σημασία).
Κανω λοιπόν reference στο DAL και αυτό μπαίνει κανονικότατα στο BIN folder. Ομως, όταν πάω να το τρέξω παίρνω runtime exception με μήνυμα "The current configuration system does not support user-scoped settings.".
Ψάχνοντας λίγο κατάλαβα οτι το πρόβλημα βρίσκεται στο πώς έχω φτιάξει το connection string του DAL μου από την Windows Forms εφαρμογή. Χρησιμοποιώντας το namespace My (VB.NET), έχω δημιουργήσει το γνωστό [ονομα dll μου].My.MySettings.ConnectionString. Αυτό όμως φαίνεται οτι ανήκει στην κατηγορία των User Settings. Προφανώς λοιπόν όταν τρέχω το ίδιο πράγμα κάτω από ASP.NET φωνάζοντας τα objects (datasets/tableadapters του), δεν μπορεί να το βρεί.
Δοκίμασα να βάλω το connection string με την ίδια ονομασία στο Web.Config της εφαρμογής. (Καποιος, σε κάποιο forum, το πρότεινε). Δεν περίμενα να δουλέψει, και φυσικά δεν δούλεψε.
Πώς θα μπορούσα να αλλάξω λοιπον τον τρόπο που καθορίζω τα settings έτσι ωστε να είναι προσπελάσιμο το connection String μου και από το Web; Η default συμπεριφορά του dataset designer είναι να δημιουργεί connection string στα user-scoped settings. Εναλλακτικά, τι άλλο μου έχει ξεφύγει;
Warning: Ειμαι (σχεδόν) noob στο νέο σχήμα αποθήκευσης settings 4 επιπέδων του ASP.NET 2.0, οπότε πείτε τα μου λίγο πιό επεξηγηματικά :)
Σωτήρης Φιλιππίδης
DotSee Web Services