Cấp bậc tác giả:

DOTNET

Sử dụng Lock và Unlock Application State trong asp.net

Được viết bởi webmaster ngày 28/04/2013 lúc 11:50 PM
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.
  • 0
  • 2478

Sử dụng Lock và Unlock Application State trong asp.net


Bài trước chúng ta đã nghiên cứu cách làm thế nào để sử dụng Application trong Asp.net, bài này sẽ tiếp tục tìm hiểu thêm về một số phương thức thường dùng của nó.

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:

ApplicationStateLock.gif

Click ở Client 1:

ApplicationStateLock1.gif

Click ở Client 2:

ApplicationStateLock2.gif

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML