Hiển thị các bài đăng có nhãn Config. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Config. Hiển thị tất cả bài đăng

Thứ Năm, 26 tháng 10, 2017

Encrypt/Decrypt App.config

 
rename D:\Test\App.config web.config
cd %windir%\Microsoft.NET\Framework\v4.0.30319\
aspnet_regiis -pdf "appSettings" "D:\Test"
rename D:\Test\web.config App.config
pause

Thứ Tư, 25 tháng 10, 2017

Encrypt/Decrypt Web.config

Encrypt:
 
cd %windir%\Microsoft.NET\Framework\v4.0.30319\
aspnet_regiis -pef "appSettings" "D:\Test\"
Decrypt:
 
cd %windir%\Microsoft.NET\Framework\v4.0.30319\
aspnet_regiis -pdf "appSettings" "D:\Test\"

Thứ Tư, 8 tháng 8, 2012

Cách sử dụng ( đọc, thêm, sửa, xóa ) appSettings trong file web.config C# ASP.NET

Các thao tác đọc, thêm, sửa, xóa appSettings tương tự như các thao tác với app.config. Tuy nhiên có sự khác nhau về cách đọc file config.

Xem thao tác với app.config C#

Ví dụ hàm sửa appSettings:
  1. public static void EditAppSetting(string key, string value)  
  2. {  
  3.     System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~/");  
  4.     config.AppSettings.Settings[key].Value = value;  
  5.     config.Save(ConfigurationSaveMode.Modified);  
  6.     ConfigurationManager.RefreshSection("appSettings");  
  7. }  
Tham số truyền vào hàm OpenWebConfiguration là đường dẫn thư mục file web.config cần load. Nếu bằng null thì mặc định là file web.config ở thư mục cao nhất.

Note: Nếu gặp lỗi Failed to map the path thì xem Khắc phục lỗi 'Failed to map the path' khi load file web.config

Thứ Hai, 30 tháng 7, 2012

Cấu hình thông báo lỗi 404 not found cho website trong web.config

Thông báo lỗi 404 not found khi người dùng truy cập vào 1 đường dẫn không tồn tại trong website. Việc cài đặt cấu hình sẽ giúp chuyển hướng người dùng đến trang thông báo hoặc chuyển về trang mặc định nào đó khi xảy ra lỗi thay vì hiển thị thông điệp khó hiểu của hệ thống.

Cấu hình trong <system.web>    </system.web>:
  1. <customErrors mode="On" defaultRedirect="~/trang-chu.aspx">  
  2.   <error statusCode="404" redirect="~/thong-bao.aspx"/>  
  3. </customErrors>  
Trong trường hợp đường dẫn không tồn tại (statusCode = 404) trình duyệt sẽ được chuyển tới trang thong-bao.aspx để thông báo hoặc hướng dẫn cho người dùng.

Các trường hợp lỗi khác (statusCode khác) nếu xảy ra nhưng không được cấu hình riêng thì được chuyển về trang mặc định defaultRedirect.

Danh sách mã lỗi( statusCode ) có thể xem tại http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Note:
Cấu hình thông báo lỗi có thể gây khó khăn cho việc test trong quá trình xây dựng website.
Có 3 mode là On, Off và RemoteOnly. Để test thử cấu hình của bạn thì để mode là On, sau đó nên để mode là RemoteOnly, lúc này khi chạy ứng dụng ở local bạn vẫn  sẽ nhận được thông báo lỗi của hệ thống nếu có lỗi xảy ra.

Thứ Năm, 26 tháng 7, 2012

Cách sử dụng ( đọc, thêm, sửa, xóa ) appSettings trong file app.config C#

Hiện giờ thường chỉ những file cấu hình đặc biệt người ta mới sử dụng file xml để cấu hình cho ứng dụng. Với những cấu hình không quá phức tạp thì việc sử dụng appSettings trong file app.config cực kỳ nhanh gọn.

Khai báo biến 'abc' có giá trị '01/01/1900 00:00:00 AM' trong appSettings  trong file app.config:
  1. <?xml version="1.0"?>  
  2. <configuration>  
  3. <startup>  
  4.   <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>  
  5.   <appSettings>  
  6.     <add key="abc" value="01/01/1900 00:00:00 AM"/>  
  7.   </appSettings>  
  8. </configuration>  
  9.       
Để đọc giá trị của abc sử dụng:
  1. string abc = ConfigurationManager.AppSettings["abc"];  
  2.       
Khi cần thay đổi các giá trị cấu hình này, cách đơn giản nhất là mở file config lên và sửa ^^!. Tuy nhiên đối với những ứng dụng cho người dùng cuối, không thể bắt người dùng tự vào chỉnh sửa được mà ta phải làm chức năng cho họ cấu hình. Dưới đây là một số hàm cần thiết để chỉnh sửa file config.

- Sửa giá trị của biến trong appSettings trong file app.config:
  1. public static void EditAppSetting(string key, string value)  
  2. {  
  3.     System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);  
  4.     config.AppSettings.Settings[key].Value = value;  
  5.     config.Save(ConfigurationSaveMode.Modified);  
  6.     ConfigurationManager.RefreshSection("appSettings");  
  7. }  
- Thêm 1 giá trị mới vào appSettings trong file app.config:
  1. public static void AddAppSetting(string key, string value)  
  2. {  
  3.     System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);  
  4.     config.AppSettings.Settings.Add(key,value);  
  5.     config.Save(ConfigurationSaveMode.Modified);  
  6.     ConfigurationManager.RefreshSection("appSettings");  
  7. }  
- Xóa 1 giá trị ra khỏi appSettings trong file app.config:
  1. public static void RemoveAppSetting(string key)  
  2. {  
  3.     System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);  
  4.     config.AppSettings.Settings.Remove(key);  
  5.     config.Save(ConfigurationSaveMode.Modified);  
  6.     ConfigurationManager.RefreshSection("appSettings");  
  7. }  
Demo thử hàm edit nào:
  1. Console.WriteLine(ConfigurationManager.AppSettings["abc"]);  
  2. EditAppSetting("abc",DateTime.Now.ToString());  
  3. Console.WriteLine(ConfigurationManager.AppSettings["abc"]);  
  4. Console.ReadLine();  
Dòng đầu tiên sẽ in ra giá trị của abc trước khi sửa file config.
Dòng thứ 2 tiến hành sửa giá trị abc thành giá trị thời gian hiện tại trong file config.
Dòng thứ 3 tiến hành đọc lại và in ra giá trị của abc sau khi đã sửa file config.
Chạy lại thêm một lần nữa :
Vậy là xong. Sử dụng app.config nhanh hơn so với thao tác đọc và ghi file xml nhiều đúng không nào.

Note:
- Cần add Reference System.configuration.
- Sau khi chạy chương trình thì file config bị chỉnh sửa là file config trong cùng thư mục chứa file exe (có dạng TenUngDung.exe.config) chứ không phải file app.config trong project đâu nhé.
- Quá trình sửa file config chỉ chính xác khi build ứng dụng ra thành file exe và chạy. Nếu chạy trong chế độ debug thì bị tình trạng là đọc từ file TenUngDung.exe.config nhưng lại ghi ra file TenUngDung.vshost.exe.config.