web.config

web.config este un fişier XML ce se află în directorul aplicaţiei ASP .NET şi care conţine diverse elemente de configurare a aplicaţiei. Structura fişierului începe cu tag-ul <configuration> iar în interiorul acestuia avem secţiunea <system.web> unde se află partea de configurare a aplicaţiei precum şi secţiunea <appSettings> unde putem să introducem elemente personalizate de configurare.

Ca toate fişierele XML, şi web.config este case-sensitive (tagurile cu acelaşi nume şi litere mici sunt diferite faţă de cele cu litere mari şi acelaşi nume). web.config se află în directorul rădăcină, dar fiecare subdirector al aplicaţiei poate conţine un fişier web.config cu setări adiţionale ce se aplică acelor subdirectoare. De exemplu, putem crea un fişier pentru subdirectorul administrare al aplicaţiei în care să nu permitem accesul persoanelor neautorizate.

Printre cele mai uzuale setări ale fişierului web.config se numără următoarele:

  • Conectarea la baza de date. Să presupunem că avem 20 pagini într-o aplicaţie ASP. NET, fiecare din ele utilizând o conexiune la baza de date. Putem defini o conexiune la baza de date în fişierul web.config care să poată fi folosită în toate paginile. Astfel, dacă modificăm conexiunea, o facem doar într-un singur loc.

    Pentru a defini o conexiune la baza de date în fişierul web.config, folosim următorul cod introdus în secţiunea <configuration> dar înaintea secţiunii <system.web>:

    <connectionStrings>
    <add name="nume_conexiune" connectionString="Data Source=nume_calculator/nume_server_sql;Initial Catalog=nume_baza_de_date;Persist Security Info=True;User ID=user;Password=parola;"
    providerName="System.Data.SqlClient" />
    </connectionStrings>

    Codul de mai sus poate fi folosit în cazul când conexiunea la serverul SQL se realizează folosind autentificarea SQL Server. Dacă se foloseşte autentificarea Windows atunci connectionString se înlocuieşte cu:

    connectionString="Data Source=nume_calculator/nume_server_sql;Initial Catalog=nume_baza_date;Integrated Security=True"

    Pentru a folosi conexiunea în partea de server side a unei pagini folosim următorul cod:

    private string connectionstring = WebConfigurationManager.ConnectionStrings["nume_conexiune"].ConnectionString;


  • Erori personalizate. La întâlnirea unei erori în aplicaţie putem seta ca ASP .NET să redirecţioneze utilizatorul spre o anumită pagină. Următorul cod se poate introduce în web.config în secţiunea system.web:

    <customErrors defaultRedirect="pagina.aspx"/>

    Folosind codul de mai sus, la întâlnirea oricărei erori, ASP .NET va redirecţiona utilizatorul spre pagina.aspx. Putem personaliza şi mai mult paginile la care ajunge utilizatorul în caz de eroare folosind codurile erorilor. De exemplu, 404 este eroarea pentru pagină negăsită, iar 403 este eroarea pentru acces interzis. Putem scrie astfel:

    <customErrors defaultRedirect="pagina.aspx">
    <error> statusCode="404" redirect="eroare404.aspx" />
    <error> statusCode="403" redirect="eroare403.aspx" />
    <customErrors>

    În acest caz, dacă se întâlneşte eroarea pagină negăsită, utilizatorul va fi redirecţionat spre eroare404.aspx, dacă accesul este interzis, utilizatorul va vedea pagina eroare403.aspx, iar în cazul oricărei alte erori se va afişa pagina pagina.aspx

  • Mărimea fişierelor încărcate pe server. Implicit, când facem un upload, ASP .NET respinge fişierele mai mari de 4 MB. Pentru a modifica această limitare, putem introduce în fişierul web.config următoarea linie de cod în secţiunea <system.web>

    <httpRuntime maxRequestLength = "10240" />

    În cazul de mai sus, dimensiunea maximă a fişierului acceptat de server este de 10 MB.

  • Interzicerea accesului în anumite directoare. Interzicerea accesului se poate face foarte simplu folosind tag-ul authorization în secţiunea system.web astfel:

    <authorization>
    <deny users = "?" />
    <authorization>


Un comentariu:

Florin Druga spunea...

as mai adauga variabile pe care le folosesti des (gen un string numit quotes pentru cand ai nevoie sa pui ghilimele intr-un string din aplicatie) si setari de acces a userilor (pentru controalele de login)