ASP.Net: Đối tượng cookies và session

ASP.Net: Đối tượng cookies và session

Nói về học thiết kế web động nói chung và thiết kế web ASP.Net nói riêng không thể không nói đến hai đối tượng cookies và session này. Hôm nay mình sẽ cùng các bạn tìm hiểu sơ lược về cách dùng và ứng ựng dụng các đối tượng này vào trong web.

Nói chung đây đều là các biến môi trường được tạo ra để sử dụng trong quá trình thực hiện ứng dụng web, nó có thể tồn tại ở Server hay ở clien và có thể tự tạo ra, biến mất tùy vào cách mà chúng ta cài đặt cho nó.

1. Sử dụng đối tượng cookies trong ASP.Net

Bạn đã từng sử dụng diễn đàn và đăng ký thành viên và đang nhập, sau lần đó thì mỗi lần sau vào trang diễn đàn đó tự nhiên mình không cần đăng nhập nữa mà vẫn xuất ra thông báo chào mình. Đó chính là một ứng dụng hay của đối tượng cookies.

Đây là một tiện ích ở máy clien, nó được hiểu như một tập tin nhỏ với các thông tin bạn đã khai báo lúc đầu, khi bạn lướt web có yêu cầu gửi đến Server thì mặc nhiên các thông tin đó cũng gửi lên server lun đỡ mất công đăng nhập nữa.

Đối tượng cookies này tồn tại trên trình duyệt ở một thời gian nhất định tùy theo mình cài đặt, sau thời gian đó thì bạn phải khởi tạo lại biến đó mới sử dụng được nữa.

ASP.Net: Đối tượng cookies và session

Đối tượng cookies trong ASP.Net

Làm việc với cookies trong ASP.Net

Bạn thêm cookies theo cú pháp sau:

<!--

Response.Cookies.Add(<HttpCookie>);

-->
 

Ví dụ:

<!--

        HttpCookie ck = new HttpCookie("TenDangNhap");

        ck.Value = txtTenDangNhap.Text;

        ck.Expires = DateTime.Now.AddDays(15);

        Response.Cookies.Add(ck);

-->
 

Cách khai báo trên có ý nghĩa là: tạo ra 1 Cookies có tên là TenDangNhap lấy giá trị từ text box txtTenDangNhap lưu trữ trên máy người dùng 15 ngày kể từ ngày tạo ra.

Lấy giá trị từ Cookies

<!--

        HttpCookie ck = Request.Cookies("TenDangNhap");

        string s = ck.Value;

-->
 

Trường hợp biến Cookies chưa tạo hay đã hết hạn thì giá trị lấy sẽ là NULL.

2. Đối tượng Session trong ASP.Net

Đối tượng Session là biến được tạo ra ở mỗi phiên làm việc của một người dùng, vậy là mỗi người đăng nhập vào sẽ có một session riêng và phiên làm việc của họ cũng có biến session riêng và được hủy khi phiên làm việc đó kết thúc và họ logout.

Session là một trong những biến quan trọng nhất trong ứng dung web, nó là riêng biệt với các đối tượng người dùng tuy nhiên biến này được tạo ra sẽ sử dụng ở tất cả mọi trang trong website và lưu vết của người dùng đó đã làm nhưng gì trên website mình.

Ví dụ: WEB bán hàng khi khách hàng chọn hàng vào giỏ ở trang chủ, và sau đó khách tham quan các trang sản phẩm khác vẫn add được hàng vào giỏ hàng đó số lượng tăng lên… và giỏ đó hủy khi bấm hủy giỏ hay thanh toán.

Cũng như ở Cookies, Session cũng có thời gian nếu quá thời gian đó session sẽ tự hủy đó người ta gọi là thuộc tính time out.

Session trong ASP.Net

Session trong ASP.Net

Như đã nói Session là biến hoạt động trên Server nên tốn bộ nhớ, Khi không có tác động từ clien để duy trì sự tồn tại của biến Session thì Session vẫn tồn tại nên rất tồn cùng như server do đó tính tự hủy khi hết time sẽ hoạt động nhờ vào một phương thức người ta gọi đó làm phương thức Abandon.

Sử dụng biến toàn cục Session trong ASP.net

Cách khai báo biến Session:

<!--

     Session["Tên Biến"] = Giá trị;

-->
 

Lấy giá trị biến session:

<!--

     <Biến> = Session["Tên Biến"];

-->
 

Ví dụ bạn tạo một trang đăng nhập đơn giản sau khi submit các thông tin đăng nhập sẽ gửi các thông tin đó qua trang khác và hiển thị lên.

Giả sử mình tạo một trang đăng nhập: dangnhap.aspx với giao diện như sau:

<!--

     Tên: <asp:TextBox ID="txtTen" runat="server"></asp:TextBox>

     Pass: <asp:TextBox ID="txtPass" runat="server" TextMode="Password"></asp:TextBox>

     <asp:Button ID="Submit" runat="server" onclick="Submit_Click" Text="Gửi" />

-->
 

Trong nút gủi bạn viết đoạn code sau:

<!--

    protected void Submit_Click(object sender, EventArgs e)

    {

        Session["ten"] = txtTen.Text;

        Session["pass"] = txtPass.Text;

        Response.Redirect("Nhan.aspx");

    }

-->
 

Ở đây khai báo hai biến Session một là lấy tên, hai là lấy Pass và tiến hành gửi qua trang Nhận: Nhan.aspx

Ở trang Nhan.aspx bạn lấy thông tin như sau:

<!--

protected void Page_Load(object sender, EventArgs e)

    {

        string ten = Session["ten"].ToString();

        string pass = Session["pass"].ToString();

        Response.Write("Chào bạn: " + ten + "<br />Pass: "+pass);

    }

-->
 

Sau đó bạn chạy trang Đăng nhập lên nhập thông tin và gửi sẽ nhận được thông tin ở trang nhận.

Đối tương Session trong ASP.Net

Đối tương Session trong ASP.Net

Kết luận: Mình đã trình bày xong hai phần cơ bản là cookies và session trong web asp.net, hai phần này rất quan trọng và cần thiết! Bài viết mang tính giới thiệu các bạn tự mò thêm nha! Chúc thành công!

Bạn thấy bài viết này như thế nào?: 
Average: 9.1 (7 votes)
Ảnh của Tommy Tran

Tommy Tran owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy
  • Phone/Zalo: (+84) 944 225 212
  • WhatsApp: (+84) 944 225 212
  • Line Messenger: (+84) 944 225 212
  • Email: [email protected]
  • Telegram Messenger: https:/t.me/tommytran0401

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
7 điều Social Media không thể làm được

7 điều Social Media không thể làm được

Social Media mang lại nhiều điều cho cá nhân và doanh nghiệp của bạn, nhưng vẫn có những điều mà Social Media không thể giúp bạn. Hãy nhận thức đúng đắn về vai trò và tầm quan trọng của Social Media để vận dụng hiệu quả nhất.

Thủ thuật customized cho Drupal Slideshow

Thủ thuật customized cho Drupal Slideshow

So a client wants a slideshow. No problem! Oh, they want full WYSIWYG for the captions. No problem. What about an option to let a user grab embed code

Hướng dẫn thay đổi độ giãn chữ trong word

Hướng dẫn thay đổi độ giãn chữ trong word

Sau khi kích nút OK, đoạn font chữ đã chọn sẽ có kết quả nhấp nháy theo loại đã chọn ở ô Animations

Wordpress Freelancer

 

Wordpress Freelancer