Documente Academic
Documente Profesional
Documente Cultură
Configuration cs = ConfigurationManager.OpenMachineConfiguration();
Configuration cs =
ConfigurationManager.OpenMappedMachineConfiguration(myMap);
Metodele de mai sus indeplinesc acelasi scop: deschid un fisier de configurare si
returneaza valorile continute de acelasi in un obiect Configuration.
Metoda 1 si 3 deschid fisiere de configurare specifice aplicatiei iar 2 si 4 specifice
calculatorului pe care ruleaza aplicatie.
Enumerarea ConfigurationUserLevel contine urmatoarele valori:
None: returneaza un obiect Configuration care se aplica la toti utilizatorii
PerUserRoaming: returneaza un obiect Configuration, roaming, pentru pentru user-
ul actual.
PerUserRoamingAndLocal: returneaza un obiect Configuration, local, pentru user-
ul actual.
Prin obiectul ExeConfigurationFileMap putem folosii alt fisier de configurare (altul
decat cel predefinit: App.config)
<appSettings>
<add key="message" value="Hello World!" />
</appSettings>
<connectionStrings>
<add name="EmployeeDB”
connectionString="SERVER=…;DATABASE=…;UID=…;PWD=…;” />
<add name="OrdersDB”
connectionString="~\DATA\CustDB.mdb” />
</connectionStrings>
</configuration>
Pentru a accesa appSettings vom folosii obiectul
ConfigurationManager:
NameValueColletion AllAppSettings =
ConfigurationManager.AppSettings;
Console.WriteLine(AllAppSettings[“message”]);
Console.WriteLine(AllAppSettings[0]);
Deoarece NameValueCollection implementeaza
interfata IEnumerable putem folosii un enumerator
(si deci constructie foreach) pentru a parcurge toate
appSettings.
Deoarece multe programe folosesc conectari la baze
de date, dezvolatatorii .net framework au decis sa
introduca un sistem dedicat de stocare si citire a
connection string-urilor necesare conectarii la baze
de date.
Puteti accesa connectionStrings exact ca
appSettings. Diferenta este ca in loc de un
NameValueCollection connection string-urile vor fi
stocate in un ConnectionStringSettingCollections, ce
contine obiecte de tip ConnectionStringSettings.
Odata ce avem obiectul ConnectionStringSettings il putem
folosii pentru a realiza o conexiune la o baza de date:
In general stim ce connection string avem nevoie,
iterarea prin ele devenind inutila.
ConnectionStringSettings mySettings =
ConfigurationManager.ConnectionStrings[“Adventu
reWorksString”];
ConnectionStringSettings mySettings =
ConfigurationManager.ConnectionStrings[0];
In aplicatii ASP.NET nu se recomanda folosirea
ConfigurationManager.
Exista solutii dedicate: WebConfigurationManager.
Diferentele intre ConfigurationManager si
WebConfigurationManager sunt:
Metodei GetSection din ConfigurationManager ii corespunde
metoda GetWebApplicationSection din
WebConfigurationManager
Metodei OpenMappedExeConfiguration ii corespunde
OpenMappedWebConfiguration
Metodei OpenExeConfiguration ii corespunde
OpenWebConfiguration
Application settings sunt configurari specifice
aplicatiei.
Sunt 2 modalitati in care putem crea application
settings:
una complicata: scriem de mana fisierul de configurare
si clasa necesara parsarii
una simpla: lasam VS2005 sa creez fisierul si clasa
Un ultim mecanism pe care il putem
folosii pentru salvarea application
settings este folosirea clasei
ApplicationSettingsBase.
ApplicationSettingsBase este o
colectie Key/Value, unde referentierea
se face dupa o cheie.
Tot ce trebuie sa facem pentru a
folosii ApplicationSettingsBase este sa
mostenim ApplicationSettingsBase si
sa “decoram” fiecare proprietate fie cu
UserScopedSettings, fie cu
ApplicationScopedSettings
Principalele motive pentru crearea unui installer
pot fi:
Dau aplicatiei un “look” profesional
Simplifica munca utilizatorului. Cu cat un produs este
mai greu de instalat cu atat utilizatorul il va folosii mai
putin.
Permit specificarea de setari (adrese de servere, baze
de date) si crearea de scurtari pe desktop, chei in
registry, etc.
Reprezinta un mecanism usor de a sterge aplicatia.
Clasa folosita pentru a crea un installer se numeste
Installer.
Pentru a folosii clasa Installer trebuie urmati urmatorii
pasi:
Mosteniti clasa Installer
Implementati metodele Install, Commit, Rollback si Uninstall.
Adaugati atributul RunInstallerAttribute cu valoarea true la clasa
derivata.
Puneti clasa derivata in assembly-ul aplicatiei pe care doriti sa o
instalati.
Invocati install-erle. Puteti folosii InstallUtil.exe (ca la servicii)
Cand porneste instalarea este invocata metoda
Install.
Daca nu apare nici o eroare este invocata metoda
Commit la finalul instalarii.
Daca apare vreo eroare este invocata metoda
Rollback.
Daca doriti stergerea aplicatiei este invocata metoda
Uninstall.
Pentru a facilita utilizarea metodei Commit putem
folosii 2 evenimente: Commited si Commit
IDictionary mySavedState = new Hashtable();
Console.WriteLine( "" );
try
{
// Set the commandline argument array for 'logfile'.
string[] commandLineOptions = new string[ 1 ] {"/LogFile=example.log"};
myAssemblyInstaller.UseNewContext = true;
<configSection>
<sectionGroup name=“MyFirstSection
type=“DBConnectionStringDemo.MyFirstSectionHandler,
DBConnectionStringDemo” />
</configSection>
Puteti accesa sectiunile si din clasa Configuration:
Configuration config
=ConfigurationManager.OpenExeConfiguration(Con
figurationUserLevel.None);
ConfigurationSectionGroupCollection DemoGroups
= config.SectionGroups;
foreach (String groupName in DemoGroup.Keys)
Console.WriteLine(groupName);
In continuare
trebuie creata
sectiune
propriuzisa
Acum trebuie implementat
IConfigurationSectionHandler.
Are o singura metoda: Create.
Construim si o clasa ValuesHandler.
Tot ce face este sa ofere o modalitate mai
comoda de extragere a datelor din
Hashtable.
in final:
ValuesHandler vals =
ConfigurationManager.GetSection(“MyFirst
Section/DemoValues”) as ValuesHandler.
Alta solutie:
<configSection>
<Chapter9Section LastName=“Ion” FirstName=“vasile”>
</configSection>