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

 

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

Config settings

Îåêßíçóå áðü ôï ìÝëïò nts. Τελευταία δημοσίευση από το μέλος nts στις 22-03-2006, 13:16. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  22-03-2006, 11:15 10955

    Config settings

    Γειά σας,
    έχω το παρακάτω config file

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <appSettings>
            <dbConnectionSettings>
                <add key="Server" value="SERVER" />
                <add key="Database" value="DB" />
                <add key="User" value="sa" />
                <add key="Pwd" value="mitsos" />
            </dbConnectionSettings>
        </appSettings>
    </configuration>

    και προσπαθώ να το διαβάσω με αυτό :
    Function GetdbConnStr() As Hashtable
        GetdbConnStr = CType(System.Configuration.ConfigurationSettings.GetConfig("dbConnectionSettings"), Hashtable)
    End Function

    όμως δεν γυρίζει τίποτα Γιατί ;;;
  •  22-03-2006, 11:55 10958 σε απάντηση της 10955

    Απ: Config settings

    Αν δεν κάνω λάθος, το appSettings μέρος του config είναι ένας απλός Hashtable provider, το οποίο σημαίνει οτι δεν θα αναγνωρίσει δικά σου elements μέσα στο body του.



    Αν θέλεις ντε και καλά να έχεις δικό σου xml για τα db settings σου, ίσως είναι καλή ιδέα να κοιτάξεις για custom config sections στο msdn. Αν βρώ λίγο χρόνο, θα κάνω post και ένα μικρό παράδειγμα ενός απλού Hashtable custom config section σε λίγο.
    Angel
    O:]
  •  22-03-2006, 12:25 10962 σε απάντηση της 10958

    Απ: Config settings

    Οκ, πεντάλεπτο παράδειγμα ενός custom config section, με τον πιο εύκολο δυνατό τρόπο ... ένα απλό hashtable, ακριβώς όπως κάνει και το appSettings.

    1. Ορίζεις το custom section στο <configSections> μέρος του App/Web.config σου:

    <configSections>

                 ...

    <section name="br_ActivityNotifier" type="System.Configuration.DictionarySectionHandler,system, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/>

    </configSections>

    To name attribute ορίζει το xml element του custom config section.

    2. Γράφεις το custom xml σου στο section που όρισες προηγουμένως:

    <br_ActivityNotifier>

                  <add key="templates_folder" value="c:\inetpub\wwwroot\auditorcis_15\resources\files\activity-templates\"/>

                  <add key="Start" value="generic-template.htm"/>

                  <add key="Finalize" value="generic-template.htm"/>

                  <add key="UndoFinalize" value="generic-template.htm"/>

                  <add key="Cancel" value="generic-template.htm"/>

                  <add key="UndoCancel" value="generic-template.htm"/>

                  <add key="Assign" value="assign-template.htm"/>

    </br_ActivityNotifier>

    H σύνταξή του όπως παρατηρείς είανι ακριβώς ίδια με του appSettings.

    3. Χρησιμοποιείς τη μέθοδο παρακάτω για να πάρεις key values απ'το section σου:

    public static string GetAppSettingFromSectionWithKey(string section, string key)

                  {

                         try

                         {

                               Hashtable settings  = (ConfigurationSettings.GetConfig(section) as Hashtable);

                               if(settings.ContainsKey(key)) return(settings[key].ToString());

                               else throw new ConfigurationAccessException("Key " + key + " was not found");

                         }

                         catch(Exception ex)

                         {

                               //TODO:check if key is null - this will fail as well...

                               throw new ConfigurationAccessException("Error while trying to retrieve the " + key + " from section " + section +" configuration file.\nSystem Message:" + ex.Message,ex);

                         }

                  }

    ..και et voila :) Ένα custom section μέσα στο config σου.

    Πολύ καλή μας μέρα !

    Angel
    O:]
  •  22-03-2006, 13:16 10964 σε απάντηση της 10955

    Απ: Config settings

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