Khi nhiều người dùng cùng truy cập vào một ứng dụng ASP.NET, ứng dụng không thể cho phép họ đồng thời truy cập thay đổi cùng một dữ liệu. Để làm được điều này, ta cần khóa các biến dữ liệu. Phương thức Lock(), thuộc lớp HttpApplicationSate, ngăn cản người dùng khác thay đổi các biến lưu trữ trong đối tượng Application
Phương thức UnLock(), thuộc lớp HttpApplicationState, được sử dụng để mở khóa cho các biến lưu trữ trong đối tượng Application. Các biến khi đã được mở khóa thì các người dùng khác có thể thay đổi chúng
Ví dụ này sẽ sử dụng Application State trong việc đếm số lần click button.
Tại trang Defaul.aspx
<asp:Label
ID="Label1"
runat="server"
Font-Size="Large"
ForeColor="DodgerBlue"
>
</asp:Label>
<br /><br />
<asp:Button
ID="Button1"
runat="server"
Text="Show Button Click Status"
OnClick="Button1_Click"
Font-Bold="true"
ForeColor="DodgerBlue"
/>
Chèn Script này vào trang
<script runat="server">
protected void Button1_Click(object sender, System.EventArgs e) {
Application.Lock();
int clickCounter = 0;
if(Application["ClickCounter"] !=null)
{
clickCounter = (int)Application["ClickCounter"];
}
clickCounter++;
Application["ClickCounter"] = clickCounter;
Application.UnLock();
Label1.Text = "Button Clicked: " + clickCounter.ToString() + " times";
}
</script>
Lúc chưa Click:
Click ở Client 1:
Click ở Client 2: