Ngôn ngữ ASP.NET - Đối tượng application

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

Application và Session là hai đố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. Trong phần này, chúng ta sẽ tìm hiểu và sử dụng hai đối tượng này trong ứng dụng.

Đối tượng application dùng để quản lý tất cả các thông tin trong ứng dụng web, biến application được tạo ra có thể dùng ở mọi trang trong site và chỉ được hủy khi kết thúc ứng dụng (application tồn tại trong suốc quá trình sống của ứng dụng).

Các dùng application

Khai báo biến application trong asp.net

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

Cách lấy giá trị cũng giống như ở Session.

Biến = Application["Tên Biến"];

Ví dụ:

Application.Lock();
Application["SoLanTruyCap"] = 0;
Application["SoNguoiOnline"] = 0;
Application.UnLock();

Trong ví dụ trên do trong cùng một lúc khách truy cập có thể có nhiều và làm thay đổi của biến Application nên ta cần Lock và UnLock phiên làm việc đó, mã lệnh viết cho 2 sự kiện này cũng được đặt trong file Global.asa. Các bạn dễ dàng thấy được khác với session là chỉ sử dụng biến đó cho 1 user và 1 phiên làm việc còn biến Application tạo ra sử dụng cho ứng dụng nào đó không phụ thuộc và các yếu tố như session.

Ví dụ: Tạo trang web Application.aspx nhập Tên sử dụng đối tượng Application để lưu tên. Sau đó, click vào nút gởi chuyển qua trang GetName.aspx đọc tên sử dụng đối tượng Application

Code trang Application.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Application.aspx.cs" Inherits="Application" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:TextBox ID="txtTen" runat="server"></asp:TextBox>
        <asp:Button ID="btGui" runat="server" onclick="btGui_Click" Text="Gửi" />

    </div>
    </form>
</body>
</html>

Code behind Application.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Application : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btGui_Click(object sender, EventArgs e)
    {
        Application["Name"] = txtTen.Text;
        Response.Redirect("GetName.aspx");
    }
}

Code behind GetName.aspx

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class GetName : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string ten = Application["Name"].ToString();
        Response.Write("Tên Bạn Là: " + ten);
    }
}

Thực thi trang web cho kết quả:

Người dùng nhập họ và tên, click vào nút gởi cho kết quả: