Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để: Thực hiện dựa trên Key phụ thuộc cho dữ liệu bộ nhớ đệm trong ASP.NET bằng cách sử dụng Visual C#.NET

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:308147
Cho một VB Microsoft.NET Phiên bản của bài viết này, xem 312358.

Bài viết này đề cập Microsoft sau.Không gian tên thư viện lớp của NET Framework:
  • System.web.caching
  • System.web.SessionState
  • System.Data.SqlClient

TRONG NHIỆM VỤ NÀY

TÓM TẮT
Bài viết này chứng tỏ làm thế nào để thực hiện các dữ liệu bộ nhớ đệm của bằng cách sử dụng phím dựa trên quan hệ phụ thuộc trong một Microsoft ASP.NET ứng dụng. Các ví dụ đó trình bày ở đây bài viết tạo ra và chèn một Số liệu đối tượng vào bộ đệm ẩn với một phụ thuộc thiết lập trên một bộ nhớ cache nhập mã bằng cách tham khảo khóa của nó. Để có ví dụ của dữ liệu bộ nhớ đệm với thời gian hoặc tập tin dựa trên quan hệ phụ thuộc, xem phần "Tham khảo" ở đây bài viết.

back to the top

Yêu cầu

  • Microsoft Windows 2000 hoặc Microsoft Windows XP
  • Microsoft Internet thông tin máy chủ (IIS)
  • Microsoft.NET Framework
  • Microsoft SQL Server
back to the top

Tạo một ASP.NET Web ứng dụng

Sử dụng Microsoft Visual C#.NET để tạo ra một Microsoft ASP.NET Web ứng dụng tên là DataCacher:
  1. Microsoft Visual Studio mở.NET.
  2. Trên các Tập tin trình đơn, điểm đến Mới, sau đó bấm Dự án.
  3. Trong các Dự án mới hộp thoại hộp, bấm vào Visual C# các dự án dưới Các loại dự án, sau đó bấm ASP.NET Web ứng dụng dưới Mẫu.
  4. Trong các Vị trí hộp, loại DataCacher như tên dự án bằng cách thay thế mặc định WebApplication # tên trong các Đường dẫn URL. Nếu bạn đang sử dụng máy chủ địa phương, bạn có thể để lại như tên máy chủ http://localhost, đặt vị trí http://localhost/DataCacher.
back to the top

Xây dựng các hình thức Web

LƯU Ý: Mã được bao gồm trong phần này được giải thích trong nhiều hơn nữa chi tiết trong phần "Chạy bộ luật".

Để xây dựng dữ liệu bộ nhớ đệm mẫu:
  1. Thêm một mẫu Web mới tên là DataCacheSample.aspx đến của bạn dự án trong Visual Studio.NET:
    1. Nhấp chuột phải vào nút dự án, giải pháp Thám hiểm.
    2. Nhấp vào Thêm, sau đó bấm Thêm mới WebForm.
    3. Tên DataCacheSample.aspx biểu mẫu Web.
    4. Nhấp vào Mở.
  2. Trên các Thiết kế xem tab cho mẫu Web trong các phòng thu trực quan.NET IDE (môi trường phát triển tích hợp), thêm một nút mẫu Web trang:
    1. Sử dụng một hoạt động kéo và thả để di chuyển một mẫu Web nút trên trang.
    2. Nhấn vào đây để chọn nút mới. Thay đổi các ID bất động sản để CreateNewOrCached, và sau đó thay đổi các Văn bản bất động sản để Tạo mới hoặc được lưu trữ.
  3. Thêm một nút mẫu Web thứ hai:
    1. Sử dụng một hoạt động kéo và thả để di chuyển một mẫu Web nút lên trang từ hộp công cụ.
    2. Nhấn vào đây để chọn nút mới. Thay đổi các ID bất động sản để Loại bỏ, và sau đó thay đổi các Văn bản bất động sản để Loại bỏ.
  4. Thêm một nhãn mẫu Web:
    1. Sử dụng một hoạt động kéo và thả để di chuyển một nhãn mẫu Web lên trang từ hộp công cụ.
    2. Nhấn vào đây để chọn nhãn mới. Thay đổi các ID bất động sản để CacheStatus, và sau đó xóa các Văn bản bất động sản.
  5. Sử dụng một hoạt động kéo và thả để di chuyển một mẫu Web DataGrid điều khiển trên trang từ hộp công cụ. Để kiểm soát này, để lại các ID bất động sản thiết lập để thiết lập mặc định của DataGrid1 trong cửa sổ thuộc tính.
back to the top

Thêm mã

Thêm mã để chèn bộ nhớ cache mục để xoá bộ nhớ cache nội dung, và để xây dựng phụ thuộc bộ đệm ẩn:
  1. Nhấp chuột phải vào trang .aspx, và sau đó nhấp vào Xem mã mở trang mã-đằng sau.
  2. Đối với mẫu này, hãy chắc chắn rằng các System.Data.SqlClient, các System.Data, và các System.web.caching không gian tên được bổ sung vào không gian tên liệt kê trong mã phía sau Trang. Nếu bạn sử dụng Visual Studio. NET để tạo mẫu Web, không gian tên của bạn bảng liệt kê trong trang mã-đằng sau sẽ trông giống như sau:
    using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.Web.Caching;						
    LƯU Ý: Bạn sẽ nhận được cảnh báo nếu không gian tên hoặc là không được liệt kê, hoặc nếu tồn tại một danh sách dự phòng của một không gian tên.
  3. Trên các Thiết kế xem tab, bấm đúp vào các CreateNewOrCached nút để mở các CreateNewOrCached_Click sự kiện trong trang mã-đằng sau.
  4. Thêm mã sau đây để các CreateNewOrCached_Click sự kiện:
    private void CreateNewOrCached_Click(object sender, System.EventArgs e) {	//Attempt to create a DataSet object from the cache entry with the key "CacheDataSetEmployees" 	object CacheDataSetEmployees = (DataSet)Cache.Get("CacheDataSetEmployees");	        //Check to see if the object is null	if(CacheDataSetEmployees == null)	{	     //Set a value for the cache entry that will serve as the 	     //key for the dependency to be created on	     Cache["SqlPubsEmployees"] = "SomeValue";	     //Create the array of cache key item names	     string[] keys = new String[1];	     keys[0] = "SqlPubsEmployees";					     DataSet ds = new DataSet();	     //Create the connection and pass in the ConnectionString	    SqlConnection MySqlConn = new SqlConnection("Server=kronicas17;Trusted_Connection=Yes;initial catalog=pubs");	     //Create the Data Adapter and pass in the command text and connection to use	     SqlDataAdapter MySda = new SqlDataAdapter("SELECT TOP 10 * FROM Employee", MySqlConn);	     //Populate the DataTable "Employees" in the DataSet	     MySda.Fill(ds,"Employee");	     //Set the DataGrid's DataSource to the "Employee" DataTable	     DataGrid1.DataSource = ds.Tables["Employee"];					     //Create a dependency object referencing the array of cachekeys (keys)	     CacheDependency MyDependency = new CacheDependency(null, keys);	     //Insert the DataSet into Cache with a dependency on MyDependency	     Cache.Insert("CacheDataSetEmployees", ds, MyDependency);				MySqlConn.Close();					     //Display the status of the DataSet/Cache Entry	     CacheStatus.Text = "New Version Created";	}	else	{	     //Display the status of the DataSet/Cache Entry	     CacheStatus.Text = "Cached Version Used";	     //Set the DataSource to the cached version of the DataSet	     DataGrid1.DataSource = CacheDataSetEmployees;        }        //Bind the DataGrid to the DataSource	DataGrid1.DataBind();}						
    LƯU Ý: Bạn có thể cần phải sửa đổi các ConnectionString trong mã trong bước này để hoạt động đúng với máy chủ SQL của bạn. Đối với mã để hoạt động đúng, bạn cần phải có máy chủ SQL Quán rượu cơ sở dữ liệu được cài đặt.
  5. Trên các Thiết kế xem tab cho trang DataCacheSample.aspx, bấm đúp vào các Loại bỏ nút để mở các Remove_Click sự kiện trong trang mã-đằng sau.
  6. Thêm mã sau đây để các Remove_Click sự kiện:
    private void Remove_Click(object sender, System.EventArgs e)     {	//Remove the cache item listed in the cachekeys array (keys)	Cache.Remove("SqlPubsEmployees"); 	//Display the status of the cache item	CacheStatus.Text = "Cache Item Removed";     }					
  7. Thêm các yếu tố sau đây vào tập tin Web.config giữa <system.web> and </system.web>:
    <identity impersonate=”true” />
  8. Trên các Tập tin trình đơn, nhấp vào Lưu tất cả Lưu biểu mẫu Web và các dự án liên quan khác tập tin.
  9. Trên các Xây dựng Menu trong Visual Studio.NET IDE, bấm Xây dựng để xây dựng các dự án.
back to the top

Chạy các mã

  1. Để chạy mã, bấm chuột phải vào trang DataCacheSample.aspx trong giải pháp Explorer, và sau đó nhấp vào Xem trong Trình duyệt.
  2. Bấm vào các CreateNewOrCached nút; các CacheStatus nhãn sẽ hiển thị "Mới Phiên bản tạo" và các DataGrid kiểm soát có dân cư.

    GHI CHÚ:
    • Các Phiên bản mới tạo ra thiết lập cho các CacheStatus nhãn là kết quả của bộ nhớ cache phím CacheDataSetEmployees đó không được nêu ra referencing một bộ nhớ cache hợp lệ mục khi nhập các sự kiện. Trong trường hợp này, các Số liệu được tạo ra, các DataGrid kiểm soát là ràng buộc để các Số liệu, và các Số liệu nhập vào bộ đệm ẩn bằng cách sử dụng chìa khóa bộ nhớ cache "CacheDataSetEmployees".
    • Từ bước trước bạn nên có cũng nhận thấy những sáng tạo của các mới CacheDependency đối tượng được đặt tên MyDependency. Các MyDependency đối tượng được liệt kê như là phụ thuộc cho các CacheDataSetEmployees mã khi nó được đưa vào bộ đệm ẩn bằng cách sử dụng các Chèn phương pháp. Điều quan trọng cần lưu ý rằng, trong khi mẫu này là chứng tỏ chính dựa trên quan hệ phụ thuộc, bạn có thể sử dụng các loại sự phụ thuộc trên bộ nhớ đệm tiêu chí, chẳng hạn như các tập tin hoặc một thời gian đóng dấu, như tốt.
  3. Bấm vào các CreateNewOrCached nút một lần nữa. Các CacheStatus nhãn sẽ hiển thị "phiên bản cache, mà biểu rằng các cache Số liệu được sử dụng. Bạn có thể xác minh rằng đây là dữ liệu được lưu trữ bằng cách sửa đổi một trong các hồ sơ được hiển thị trong các Quán rượu cơ sở dữ liệu bằng cách sử dụng phân tích truy vấn SQL hoặc công cụ khác. Sau khi bạn Sửa đổi các bản ghi, bấm các CreateNewOrCached nút một lần nữa. Lưu ý rằng những thay đổi bạn đã thực hiện không được hiển thị. Nhấp vào Loại bỏ, sau đó bấm CreateNewOrCached một lần nữa để xem các thay đổi mà bạn tạo ra cho các cơ sở dữ liệu.
  4. Bấm vào các Loại bỏ nút. Các CacheStatus nhãn hiển thị "Bộ nhớ Cache Entry xoá". Mục cache với phím"SqlPubsEmployees" được lấy ra bằng cách sử dụng các Cache.Remove phương pháp trong các Remove_Click sự kiện. Bởi vì bạn đã liệt kê các mảng (trong đó có chìa khóa bộ nhớ cache tên của khoản mục đã xoá) với MyDependency khi bạn tạo ra nó, các "CacheDataSetEmployees" khoản mục bị loại bỏ do bạn tạo ra nó bằng cách sử dụng các Chèn phương pháp và bằng cách tham khảo MyDependency như của nó phụ thuộc tham số.
  5. Bấm vào các CreateNewOrCached nút một lần nữa. Các CacheStatus nhãn hiệu hiển thị thông báo "Mới Phiên bản tạo" bởi vì các Số liệu được tạo ra dựa trên thực tế là nó không còn tồn tại trong bộ nhớ cache khi sự kiện này bắn.
  6. Bạn cũng có thể nhận thấy rằng các DataGrid điều khiển được hiển thị như dân cư với các dữ liệu ngay cả sau khi các Số liệu khoản mục được lấy ra từ bộ nhớ cache. Đây là kết quả của các EnableViewState bất động sản đang thiết lập để Sự thật Theo mặc định. Điều này cho phép nhà nước kiểm soát được duy trì, và điều này không liên quan đến các thao tác nhập bộ nhớ cache trong các Mã. Cho đại diện trực quan hơn cho sự kiểm soát nhà nước tại mỗi giai đoạn, bạn có thể thiết lập EnableViewState để Sai.
LƯU Ý: Trong regards cho ví dụ này, trong một tình hình thực tế, bộ nhớ cache quan trọng (các mảng phím mảng trong mẫu mã) có thể giữ bộ nhớ cache phím để bàn khác hoặc mặt hàng bộ nhớ cache khác, do đó, rằng nếu một trong những bản ghi đã là thay đổi, bộ nhớ cache mục nhập)CacheDataSetEmployees trong mẫu này) cho khoản mục đã được tạo ra với điều này phụ thuộc sẽ bị xóa bộ nhớ cache là tốt. Bạn có thể sau đó hoạt động như cần thiết bằng cách sử dụng callbacks; để có thêm thông tin về callbacks, tham khảo các "Tham khảo" phần trong bài viết này.

back to the top

Giải đáp thắc mắc

  • Các tên chính được liệt kê trong bộ nhớ cache phím mảng phải được gắn với mặt hàng thực tế bộ nhớ cache. Nếu họ không, là mục mà các phụ thuộc được sử dụng không đúng cách giữ lại trong bộ nhớ cache. Một ví dụ về điều này sẽ là nếu các phím mảng trong mẫu mã đã tổ chức một mảng yếu tố và các nguyên tố được đặt tên chính bộ nhớ cache không hợp lệ.
  • Bộ nhớ cache phím mảng có không có nghĩa là cụ thể cho đến khi nó được sử dụng với một CacheDependency đối tượng.
  • Nếu bạn chèn một mục vào bộ nhớ cache với không phụ thuộc hay hết hạn khác, kiểm soát thời gian chạy khi hàng được lấy ra từ các bộ nhớ cache.
back to the top
THAM KHẢO
Để biết thêm thông tin về việc sử dụng các CacheItemRemovedCallback đại biểu, xem Web site sau của Microsoft: LƯU Ý: The CacheItemRemovedCallback đại biểu định nghĩa một phương pháp gọi lại để thông báo cho các ứng dụng khi một mục được lưu trữ được lấy ra từ bộ nhớ cache.

Để biết thêm về các CacheDependency lớp, xem Web site sau của Microsoft: LƯU Ý: The CacheDependency lớp theo dõi phụ thuộc bộ nhớ cache, có thể là các tập tin, thư mục, hoặc phím để các đối tượng khác trong bộ nhớ cache của bạn ứng dụng.

Để biết thêm thông tin về các tùy chọn bộ nhớ đệm cho ASP.NET, chỉ đến Microsoft sau.NET Framework SDK tài liệu:
Thêm khoản mục vào bộ đệm ẩn
http://MSDN.Microsoft.com/en-US/Library/cc511535.aspx
Cho thông tin thêm về các tùy chọn bộ nhớ đệm cho ASP.NET, bấm vào những con số bài viết dưới đây để xem các bài viết trong Microsoft Kiến thức cơ bản:
305140 ASP.Lộ trình NET
307225 THÔNG TIN: ASP.RÒNG tổng quan về bộ nhớ đệm
back to the top

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 308147 - Xem lại Lần cuối: 08/27/2011 23:18:00 - Bản sửa đổi: 2.0

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbcaching kbdatabase kbhowtomaster kbmt KB308147 KbMtvi
Phản hồi
ml>