Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

CARA: Menerapkan berbasis kunci dependensi untuk Data Caching di ASP.NET dengan menggunakan Visual C#.NET

PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.

Klik disini untuk melihat versi Inggris dari artikel ini:308147
Untuk BB Microsoft.NET versi artikel ini, lihat 312358.

Artikel ini merujuk untuk Microsoft berikut.NET Framework kelas perpustakaan namespaces:
  • System.web.caching
  • System.web.SessionState
  • System.data.SqlClient

DALAM TUGAS INI

RINGKASAN
Artikel ini menunjukkan bagaimana menerapkan data caching oleh menggunakan kunci berbasis dependensi di Microsoft ASP.NET aplikasi. Contoh yang disajikan dalam artikel membuat dan menyisipkan DataSet objek ke cache dengan ketergantungan yang ditetapkan pada lain cache Catatan item oleh referensi key nya. Untuk contoh data cache dengan waktu atau berkas dependensi, merujuk pada bagian "Referensi" dalam hal ini artikel.

back to the top

Persyaratan

  • Microsoft Windows 2000 atau Microsoft Windows XP
  • Microsoft Internet Information Server (IIS)
  • Microsoft.NET Framework
  • Microsoft SQL Server
back to the top

Menciptakan situs web ASP.Aplikasi NET Web

Menggunakan Microsoft Visual C#.NET untuk membuat Microsoft ASP.NET Web aplikasi bernama DataCacher:
  1. Buka Microsoft Visual Studio.NET.
  2. Pada Berkas menu, titik Baru, lalu klik Project.
  3. Dalam Proyek baru kotak dialog, klik Visual C# proyek di bawah Jenis proyek, lalu klik ASP.Aplikasi NET Web di bawah Pola acu.
  4. Dalam Lokasi kotak, jenis DataCacher sebagai nama proyek dengan mengganti default WebApplication # nama di URL jalur. Jika Anda menggunakan server lokal, Anda dapat meninggalkan nama server sebagai http://localhost, yang menetapkan lokasi untuk http://localhost/DataCacher.
back to the top

Membangun formulir Web

CATATAN: Kode yang termasuk dalam bagian ini dijelaskan di lebih detail di bagian "Menjalankan kode".

Membangun data cache contoh:
  1. Tambahkan formulir Web baru yang bernama DataCacheSample.aspx untuk Anda proyek dalam Visual Studio.NET:
    1. Klik kanan node proyek dalam larutan Explorer.
    2. Klik Tambahkan, lalu klik Menambahkan baru WebForm.
    3. Nama DataCacheSample.aspx formulir Web.
    4. Klik Terbuka.
  2. Pada Desain Lihat tab untuk formulir Web dalam Visual Studio.NET IDE (integrated development environment), menambahkan tombol formulir Web ke halaman:
    1. Gunakan operasi seret-dan-jatuhkan untuk memindahkan tombol formulir Web ke halaman.
    2. Klik untuk memilih tombol baru. Perubahan ID properti untuk CreateNewOrCached, dan kemudian mengubah Teks properti untuk Membuat baru atau cache.
  3. Tambahkan tombol formulir Web kedua:
    1. Gunakan operasi seret-dan-jatuhkan untuk memindahkan bentuk Web lain tombol ke halaman dari toolbox.
    2. Klik untuk memilih tombol baru. Perubahan ID properti untuk Hapus, dan kemudian mengubah Teks properti untuk Hapus.
  4. Menambahkan label formulir Web:
    1. Gunakan operasi seret-dan-jatuhkan untuk memindahkan label formulir Web ke halaman dari toolbox.
    2. Klik untuk memilih label baru. Perubahan ID properti untuk CacheStatus, dan kemudian jelas Teks properti.
  5. Gunakan operasi seret-dan-jatuhkan untuk memindahkan formulir Web DataGrid kontrol ke halaman dari toolbox. Untuk kontrol ini, meninggalkan ID properti diatur untuk pengaturan default DataGrid1 dalam jendela properti.
back to the top

Menambahkan kode

Menambahkan kode untuk memasukkan cache item, untuk menghapus cache item, dan untuk membangun ketergantungan cache:
  1. Klik kanan halaman .aspx, dan kemudian klik Lihat kode untuk membuka halaman kode di belakang.
  2. Untuk sampel ini, pastikan bahwa System.data.SqlClient, the System.data, dan System.web.caching namespaces ditambahkan ke namespace daftar dalam kode di belakang Halaman. Jika Anda menggunakan Visual Studio. NET untuk membuat formulir Web, ruang nama Anda Daftar di halaman belakang kode akan terlihat mirip dengan berikut ini:
    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;						
    CATATAN: Anda akan menerima peringatan jika namespace baik tidak terdaftar, atau jika ada daftar berlebihan namespace.
  3. Pada Desain melihat tab, klik dua kali CreateNewOrCached tombol untuk membuka CreateNewOrCached_Click acara di halaman kode di belakang.
  4. Tambahkan kode berikut untuk CreateNewOrCached_Click acara:
    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();}						
    CATATAN: Anda mungkin perlu untuk memodifikasi ConnectionString dalam kode dalam langkah ini untuk bekerja dengan benar dengan SQL server. Untuk kode untuk bekerja dengan baik, Anda perlu memiliki SQL Server Pub database yang terinstal.
  5. Pada Desain melihat tab untuk DataCacheSample.aspx halaman, klik dua kali Hapus tombol untuk membuka Remove_Click acara di halaman kode di belakang.
  6. Tambahkan kode berikut untuk Remove_Click acara:
    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. Menambahkan elemen berikut ke file Web.config antara <system.web> and </system.web>:
    <identity impersonate=”true” />
  8. Pada Berkas menu, klik Simpan semua untuk menyimpan formulir Web dan proyek terkait lainnya file.
  9. Pada Bangun menu dalam Visual Studio.NET IDE, klik Bangun untuk membangun proyek.
back to the top

Menjalankan kode

  1. Untuk menjalankan kode, klik kanan halaman DataCacheSample.aspx Solusi Explorer, dan kemudian klik Tampilkan di Browser.
  2. Klik CreateNewOrCached tombol; The CacheStatus label harus menampilkan "Baru versi dibuat" dan DataGrid kontrol ini dihuni.

    CATATAN:
    • The Versi baru dibuat pengaturan untuk CacheStatus label adalah hasil kunci cache CacheDataSetEmployees itu adalah tidak belum referensi item cache yang benar ketika memasuki acara. Dalam kasus ini, DataSet dibuat, DataGrid kontrol terikat DataSet, dan DataSet dimasukkan ke dalam cache dengan menggunakan tombol cache "CacheDataSetEmployees".
    • Dari langkah sebelumnya Anda harus juga menyadari penciptaan baru CacheDependency objek yang bernama MyDependency. The MyDependency obyek terdaftar sebagai dependensi untuk CacheDataSetEmployees item ketika ditambahkan ke cache dengan menggunakan Masukkan metode. Penting untuk dicatat bahwa, sambil sampel ini menunjukkan berbasis kunci dependensi, Anda dapat menggunakan jenis dependen caching kriteria, seperti file atau sebuah time stamp, sebagai baik.
  3. Klik CreateNewOrCached tombol lagi. The CacheStatus label menampilkan "Cache versi", yang menyatakan bahwa cache DataSet digunakan. Anda dapat memverifikasi bahwa ini adalah data cache dengan memodifikasi salah satu Catatan ditampilkan dalam Pub database dengan menggunakan SQL Query Analyzer atau alat lain. Setelah Anda memodifikasi catatan, klik CreateNewOrCached tombol lagi. Perhatikan bahwa perubahan yang Anda buat tidak ditampilkan. Klik Hapus, lalu klik CreateNewOrCached lagi untuk melihat perubahan yang Anda buat untuk database.
  4. Klik Hapus tombol. The CacheStatus label menampilkan "Cache entri dihapus". Cache item dengan kunci"SqlPubsEmployees" dengan menggunakan Cache.Remove metode di Remove_Click acara. Karena Anda terdaftar array (yang berisi kunci cache nama item dihapus) dengan MyDependency Ketika Anda menciptakan, "CacheDataSetEmployees" item dihapus karena Anda dibuat dengan menggunakan Masukkan metode dan oleh referensi MyDependency sebagai parameter ketergantungan.
  5. Klik CreateNewOrCached tombol lagi. The CacheStatus label menampilkan pesan "Baru versi dibuat" karena DataSet diciptakan didasarkan pada kenyataan bahwa itu tidak lagi ada di cache ketika acara ditembakkan.
  6. Anda mungkin juga menyadari bahwa DataGrid kontrol ditampilkan sebagai diisi dengan data bahkan setelah DataSet item dihapus dari cache. Ini adalah hasil dari EnableViewState properti yang sedang diatur ke Benar secara default. Hal ini memungkinkan negara kontrol harus dipertahankan, dan ini tidak terkait dengan manipulasi catatan cache di kode. Untuk lebih visual keterwakilan kontrol negara pada setiap tahap, Anda dapat mengatur EnableViewState untuk Palsu.
CATATAN: Salam untuk contoh ini, dalam situasi yang sebenarnya, cache kunci array ( kunci array dalam kode contoh) mungkin memegang kunci cache untuk meja lainnya atau lain cache item jadi bahwa jika salah satu dari mereka item untuk mengubah, cache entri)CacheDataSetEmployees dalam contoh ini) untuk item yang dibuat dengan ini ketergantungan akan dihapus dari cache juga. Anda kemudian dapat bertindak sebagai diperlukan dengan menggunakan callback; untuk informasi lebih lanjut tentang callback, merujuk kepada Bagian "Referensi" di artikel ini.

back to the top

Pemecahan Masalah

  • Nama kunci yang terdaftar dalam cache kunci array harus dikaitkan dengan sebenarnya cache item. Jika mereka tidak, item yang ketergantungan digunakan tidak benar dipertahankan dalam cache. Contoh ini akan jika kunci array dalam kode contoh yang diadakan lain elemen array dan elemen set untuk nama kunci cache tidak sah.
  • Cache kunci array memiliki tidak berarti tertentu sampai digunakan dengan CacheDependency objek.
  • Jika Anda memasukkan item ke cache dengan tidak ada ketergantungan atau lain kadaluarsa, kontrol runtime ketika item dihapus dari cache.
back to the top
REFERENSI
Untuk informasi lebih lanjut tentang menggunakan CacheItemRemovedCallback mendelegasikan, lihat Website Microsoft berikut: CATATAN: CacheItemRemovedCallback delegasi mendefinisikan metode callback untuk memberitahu aplikasi ketika cache item dihapus dari cache.

Untuk informasi lebih lanjut tentang CacheDependency kelas, lihat Website Microsoft berikut: CATATAN: CacheDependency kelas trek cache dependensi, yang dapat file, direktori, atau tombol untuk objek lain dalam aplikasi Anda cache.

Untuk lebih informasi tentang berbagai pilihan caching yang tersedia untuk ASP.NET, merujuk kepada Microsoft berikut.NET Framework SDK dokumentasi: Untuk informasi tambahan tentang caching berbagai pilihan yang tersedia untuk ASP.NET, klik nomor artikel di bawah ini untuk melihat artikel di Microsoft Basis Pengetahuan:
305140 ASP.NET Roadmap
307225 INFO: ASP.BERSIH Caching Overview
back to the top

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 308147 - Tinjauan Terakhir: 09/24/2011 17:47:00 - Revisi: 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 KbMtid
Tanggapan
javascript"> Asimov.clickstreamTracker.init();