Khi làm việc dự án Web Asp.Net tôi mong muốn có thể cấu hình được 1 danh sách, là các ngày trong tuần tương ứng với nó là Nhãn hiển thị. Trong PHP bạn có thể định nghĩa cấu hình dễ dàng định nghĩa như sau:

  // Names of the days of the week, starting 1. "Monday"
  $DayNames = array(
    1 => 'luni', 
    2 => 'marţi',
    3 => 'miercuri',
    4 => 'joi',
    5 => 'vineri',
    6 => 'sâmbătă',
    7 => 'duminică',
  );

Nhưng trong Asp.Net thì chúng ta làm như nào ? Có thể chúng ta đã quá quen thuộc với thẻ cấu hình appSettings được định nghĩa trong file Web.config để đọc các cấu hình:

<appSettings>
  <add key="connString" value="user id=sa;password=mypassword;" />
</appSettings>

Có thể thấy tham số cấu hình $DayNames có dạng Key-Value, ta cần định nghĩa 1 cấu hình cho $DayNames tương đương với thẻ appSettings và trong ASP.NET cho phép chúng ta custom các config theo cấu hình mở rộng (có thể tự định nghĩa) theo các bước sau.

oa1hZ

1. Định nghĩa sectionGroup

sectionGroup cho phép ta định nghĩa ra thẻ cấu hình tương đương với appSettings, như sau:

  <configSections>
    <sectionGroup name="myWebAppSettings">
      <section name="dayNames" type="System.Configuration.NameValueSectionHandler"/>
      <section name="security" type="System.Configuration.NameValueSectionHandler"/>
    </sectionGroup>
  </configSections>

2. Thêm các cấu hình cài đặt

<myWebAppSettings>
   <dayNames>
      <add key="1" value="luni"/>
      <add key="2" value="marţi"/>
      <add key="3" value="miercuri"/>
      <add key="4" value="joi"/>
      <add key="5" value="vineri"/>
      <add key="6" value="sâmbătă"/>
      <add key="7" value="duminică"/>
   </dayNames>
   <security>
      <add key="/controlpanel/" value="Systems Administrators,Project Managers" />
      <add key="/members/" value="members" />   
   </security>
</myWebAppSettings>

OK, việc định nghĩa cấu hình trong file Web.config đã hoàn tất. Bây giờ chúng ta sử dụng phương thức đọc XPATH để đọc cấu hình Web.config mà ta vừa định nghĩa trên. Cụ thể là đọc danh sách các ngày trong tuần dayNames.

    using System.Web.Configuration;
    // ...
    var config = ConfigurationManager.GetSection("myWebAppSettings/dayNames") as NameValueCollection;
    var monday = config["1"];

Hi vậy thôi. Chúc ae thành công !

About The Author

  • Vu Cong Duan

    Chào anh, tài liệu của anh rất hay. Anh có thể cho địa chỉ email để em tiện hỏi :v