Lập trình web Asp.net với C# - Chương 2: Các đối tượng trong asp.net

2.1. Đối tượng Response Và Request 2.2. Đối tượng Application Và Session 2.3. Đối tượng Server Và Cookies 2.4. Tập tin Global.asax Và Web.confi

pdf31 trang | Chia sẻ: thuychi16 | Lượt xem: 885 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Lập trình web Asp.net với C# - Chương 2: Các đối tượng trong asp.net, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Giảng Viên: Th.S Phạm Đào Minh Vũ Email: phamdaominhvu@yahoo.com 1 LẬP TRÌNH WEB ASP.NET VỚI C# 57 Chương 2 Các Đối Tượng Trong ASP.Net 2.1. Đối tượng Response Và Request 2.2. Đối tượng Application Và Session 2.3. Đối tượng Server Và Cookies 2.4. Tập tin Global.asax Và Web.config 58 2.1. Đối tượng Response Và Request 2.1.1. Đối tượng Response 2.1.2. Đối tượng Request 59 2.1.1 Đối tượng Response Đối tượng Response được sử dụng để giao tiếp với Client, nó quản lý và điều phối thông tin từ Web Server đến các trình duyệt của người dùng.  Phương thức Write Dùng để ghi kết quả lên trình duyệt của máy khách, có thể là văn bản, thẻ HTML, Mã Script . . . Response.Write ("Chào các bạn!"); String s = DateTime.Today.ToShortDateString(); Response.Write(" " + "Hôm nay là: " + s + "" 60  Phương thức Redirect Dùng để chuyển yêu cầu truy cập của máy khách đến 1 URL khác Ví dụ: //Nếu đăng nhập thành công if () Response.Redirect("Default.aspx"); else Response.Redirect("Login.aspx"); ReSponse.Redirect(“URL chuyển đến”) 61 Ví dụ: Sử dụng đối tượng Response để thực hiện việc download tập tin. private void lnkDownload_Click() { String sTap_tin = "De cuongonthiTN2010.pdf"; String sDuong_dan = Server.MapPath("~/") + sTap_tin; Response.AddHeader("Content-Disposition","attachment; filename=" + sTap_tin); Response.WriteFile(sDuong_dan); Response.End(); } 62 2.1.2 Đối tượng Request Đối tượng Request được dùng để nhận thông tin từ trình duyệt của người dùng gởi về cho WebServer.  Thuộc tính QueryString Như đã biết URL(Uniform Resource Locators) của 1 trang có cấu trúc như sau: QueryString - gọi là chuỗi tham số cấu trúc như sau: Các cặp [=] phân cách nhau bằng dấu & 63 Thuộc tính QueryString cho phép chúng ta nhận các giá trị truyền qua chuỗi tham số này. VD: Giả sử người dùng gởi thông điệp đến Web Server yêu cầu trang: “ChitietSP?Ma=2". Để lấy giá trị tham số này ta thực hiện: String Masp = Request.QueryString["Ma"]; Response.Write(Masp); Request.QueryString[“Tên_tham_số”]; 64 2.2. Đối tượng Application Và Session Application và Session là 2 đối tượng khá quan trọng trong ứng dụng web, giúp các trang aspx có thể liên kết và trao đổi dữ liệu cho nhau 65 2.2.1. Đối tượng Application Được sử dụng để quản lý tất cả các thông tin của một ứng dụng web. Thông tin được lưu trữ trong đối tượng Application có thể được xử lý trong bất kỳ trang aspx nào trong suốt chu kỳ sống của ứng dụng.  Sử dụng biến Application Tạo biến Application Application["Tên biến“] = ; Lấy giá trị từ biến Application = Application["Tên biến“]; Ví dụ: Application.Lock(); Application["So_lan_truy_cap“] = 0; Application.UnLock(); s = Application["So_lan_truy_cap"]; 66 2.2.2. Đối tượng Session  Được dùng để lưu trữ thông tin của người dùng trong ứng dụng.  Thông tin được lưu trữ trong Session là của một người dùng trong một phiên làm việc cụ thể.  Web Server sẽ tự động tạo một đối tượng Session cho mỗi người dùng mới kết nối vào ứng dụng và tự động hủy chúng nếu người dùng còn không làm việc với ứng dụng nữa.  Đối tượng Session khá hữu hiệu trong việc thực hiện "lưu vết và quản lý thông tin của người dùng". 67 Thuộc tính Timeout  Qui định khoảng thời gian (tính bằng phút) mà Web Server duy trì đối tượng Session nếu người dùng không gởi yêu cầu về lại Server. Giá trị mặc định là 20 phút.  Nếu không có yêu cầu nào kể từ lần yêu cầu sau cùng một khoảng thời gian là phút, đối tượng Session mà Web server cấp cho lần làm việc đó sẽ tự động được giải phóng.  Những yêu cầu sau đó được Web server coi như là một người dùng mới, và đương nhiên sẽ được cấp một đối tượng Session mới. 68 Phương thức Abandon Trong khoảng thời gian đối tượng Session được duy trì dù không có sự tương tác của Client, nghĩa là Web server phải sử dụng một vùng nhớ để duy trì đối tượng Session trong một khoảng thời gian tương ứng.  Phương thức Abandon của đối tượng Session sẽ giải phóng vùng nhớ được dùng để duy trì đối tượng Session trên Web Server ngay khi được gọi thực hiện.  Những yêu cầu sau đó được Web server coi như là một người dùng mới. 69 Sử dụng biến toàn cục với Session Tạo biến Session Session["Tên biến“] = ; Lấy giá trị từ biến Session = Session["Tên biến“] Ví dụ: Lưu trữ thông tin khi người dùng đăng nhập hệ thống thành công Session["TenDN“] = “userITC" 70 2.3. Đối tượng Server Và Cookies 2.3.2 Đối tượng Cookies 2.3.1 Đối tượng Server 71 2.3.1 Đối tượng Server Được sử dụng để cung cấp thông tin của Server cho ứng dụng.  Thuộc tính MachineName: Dùng để lấy tên của Web Server.  Phương thức Mappath: Dùng để lấy đường dẫn vật lý hoặc đường dẫn ảo đến một thư mục trên Server.  Phương thức Transfer(): Ngừng thi hành trang hiện hành, gởi yêu cầu mới đến trang được gọi thực hiện. 72 2.3.2 Đối tượng Cookies  Nếu đã đăng ký là thành viên của một trang web thì khi yêu cầu đến trang web đó, sẽ nhận ra là thành viên. Vì những thông tin được lưu tại máy Client trong đối tương Cookies.  Như vậy Cookie như một tập tin (kích thước nhỏ) được lưu tại máy của người dùng. Dùng để nhận ra người đang viếng thăm 73 Thêm Cookies Response.Cookies.Add(); Ví dụ:Tạo Cookies TenDN lưu tên đăng nhập của người dùng 3 ngày kể từ ngày hiện hành trên Web Server. HttpCookie cookTenDN = new HttpCookie("TenDN"); cookTenDN.Value = "UserITC"; cookTenDN.Expires = DateTime.Today.AddDays(3); Response.Cookies.Add(cookTenDN); Lấy giá trị từ Cookies Request.Cookies[“Tên Cookies”].Value; HttpCookie cookTenDN = Request.Cookies["TenDN"]; if (cookTenDN != null) Response.Write(Request.Cookies["TenDN"].Value); 74 2.4. Tập tin Global.asax Và Web.config 2.4.1 Tập tin Global.asax 2.4.2 Tập tin Web.config 75 2.4.1 Tập tin Global.asax Được dùng để:  Khai báo và khởi tạo giá trị cho các biến Application, Session.  Viết xử lý cho các sự kiện của 2 đối tượng Application và Session.  Một project chỉ có 1 tập tin Global.asax Cách tạo: 76 Cấu trúc tập tin Global.asax 77 Application_Start: Xảy ra một lần đầu tiên khi bất kỳ trang nào trong ứng dụng được gọi. Application_End: Xảy ra khi dừng hoạt động của WebServer. Ví dụ xử lý ghi nhận thông tin Số lượt truy cập vào cơ sở dữ liệu (nếu cần). void Application_Start(object sender, EventArgs e) { // Code that runs on application startup Application["So_luot_truy_cap"] = 0; Application["So_nguoi_online"] = 0; } 78 Session_Start: Xảy ra khi người dùng mới yêu cầu đến bất kỳ trang aspx của ứng dụng. void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started Application["So_luot_truy_cap"] = int.Parse(Application["So_luot_truy_cap"].ToString()) + 1; Application["So_nguoi_online"] = int.Parse(Application["So_nguoi_online"].ToString()) + 1; } 79 Session_End: Xảy ra khi phiên làm việc không có gởi yêu cầu hoặc làm tươi trang aspx của ứng dụng web trong một khoảng thời gian (mặc định là 20 phút) (Kết thúc phiên làm việc). void Session_End(object sender, EventArgs e) { // Code that runs when a session ends. Application["So_nguoi_online"] = int.Parse(Application["So_nguoi_online"].ToString()) - 1; } 80 2.4.2 Tập tin Web.config Web.config là một tập tin văn bản viết theo định dạng XML sử dụng để lưu trữ thông tin cấu hình của một ứng dụng  Được tự động tạo ra khi chúng ta tạo mới ứng dụng. <add name="KetnoiCSDL" connectionString="Data Source=PC\SQLEXPRESS; Initial Catalog=QLBansach; Integrated Security=True“ providerName="System.Data.SqlClient" /> ....... Tập tin cấu hình ứng dụng Web 81  defaultLanguage: qui định ngôn ngữ mặc định debug: Bật/tắt chế độ debug của ứng dụng  : Quản lý việc xử lý lỗi khi có lỗi phát sinh trong ứng dụng. Thuộc tính mode có các giá trị:  RemoteOnly : Cho người dùng thấy trang thông báo lỗi thông qua thuộc tính defaultRedirect (nếu có). Thông báo lỗi gồm mã lỗi và mô tả lỗi.  On : tùy vào thuộc tính defaultRedirect • Có qui định trang thông báo lỗi: hiển thị trang báo lỗi • Không qui định: hiển thị trang báo lỗi nhưng không hiển thị mã lỗi và mô tả lỗi  Off : Hiển thị lỗi trên trang aspx hiện hành 2.4.2.1. Một số cấu hình mặc định 82 <customErrors mode=“on“ defaultRedirect="Error/Err.aspx" /> 2.4.2.2. Ví dụ 83 Ví dụ 84 Ví dụ 85 2.4.2.3. Làm việc với Web.config Bổ sung thông tin cho ứng dụng Truy xuất thông tin System.Configuration.ConfigurationSettinger. AppSettings[“Khoá”];  Tập tin web.config có hỗ trợ tag với 2 thuộc tính là key và value cho phép chúng ta thêm vào các biến dùng để cấu hình ứng dụng. 86 Ví dụ: Tạo biến cấu hình dùng để lưu chuỗi kết nối CSDL SQLServer Lấy thông tin chuỗi kết nối <add name="KetnoiCSDL" connectionString="Data Source=PC\SQLEXPRESS; Initial Catalog=QLBansach;Integrated Security=True" providerName="System.Data.SqlClient" /> string StrCnn = ConfigurationManager.ConnectionStrings["KetnoiCSDL"]. ConnectionString.ToString();
Tài liệu liên quan