Cara melakukan output cache dengan layanan Web dalam Visual C#.NET

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 318299 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Catatan Berikut.NET Framework kelas perpustakaan namespaces disebutkan dalam artikel ini:
  • System.Web.Services
  • System.text
Artikel ini selangkah demi selangkah menjelaskan cara membuat sampel ASP.NET Layanan web yang menggunakan output caching. Keluaran caching cache respon output berdasarkan hasil dari layanan Web Durasi atribut yang ditentukan untuk yang sesuai WebMethod.

Catatan Di ASP.NET 2.0, metode HTTP halaman pengujian telah berubah dari mendapatkan ke posting. Namun, posting yang tidak biasanya cache. Jika Anda mengubah halaman pengujian di ASP.NET 2.0 Web aplikasi layanan untuk mendapatkan, caching bekerja dengan benar. Selain itu, HTTP menunjukkan bahwa agen pengguna (browser atau memanggil aplikasi) harus dapat untuk mengesampingkan server cache dengan menyetel header Cache-Control untuk "tidak-cache." Oleh karena itu, ASP.Aplikasi NET mengabaikan hasil cache ketika mereka menemukan sebuah header "no-cache".

Persyaratan

Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang diperlukan:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, atau Microsoft Windows XP
  • Microsoft.NET Framework
  • Microsoft Internet Information Services (IIS)

Membuat ASP baru.Aplikasi NET Web Service

Membuat ASP baru.Aplikasi NET Web layanan bernama WSCacheSample:
  1. Mulai Visual Studio.NET.
  2. Pada Berkas menu, titik Baru, lalu klik Project untuk memulai Wisaya proyek baru.
  3. Di bawah Jenis proyek, pilih Visual C#. Di bawah Pola acu, pilih ASP.Layanan NET Web.
  4. Dalam Lokasi kotak, menggantikan "WebService #" di lintasan URL dengan nama Anda proyek, WSCacheSample. Jika Anda menggunakan server lokal, meninggalkan nama server sebagai http://localhost, sehingga Lokasi kotak tampak seperti ini:
    http://localhost/WSCacheSample

Membuat contoh layanan Web

  1. Dalam solusi Explorer, klik kanan node proyek, titik untuk Tambahkan, lalu klik Menambahkan layanan Web.
  2. Untuk nama, jenis CacheDemo.asmx, kemudian klik Terbuka. Layanan Web akan terbuka dalam Design view.
  3. Klik kanan layanan Web, dan kemudian klik Lihat kode.
  4. Tambahkan kode berikut untuk file kelas CacheDemo.asmx.cs. Ini menambah WebMethod atribut yang bernama GetCacheEntryTime dengan CacheDuration 60 detik.
    [WebMethod(CacheDuration=60)]
    public string GetCacheEntryTime(string Name)
    {
    	StringBuilder sb = new StringBuilder("Hi ");
    	sb.Append(Name);
    	sb.Append(", the Cache entry was made at ");
    	sb.Append(System.DateTime.Now.ToString());
    	
    	return(sb.ToString());
    }
    						
    CATATAN: Secara default, CacheDuration untuk WebMethod atribut diatur ke 0, berarti bahwa itu tidak di-cache.
  5. Karena kode contoh menggunakan StringBuilder metode, meliputi referensi untuk System.text namespace. Namespace kode untuk layanan Web tampak seperti ini:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Web;
    using System.Web.Services;
    using System.Text;
    						
    CATATAN: Untuk informasi lebih lanjut tentang StringBuilder kelas, kunjungi Website Microsoft Developer Network (MSDN) berikut situs:
    StringBuilder kelas
    .aspx http://msdn2.Microsoft.com/en-us/library/System.text.stringbuilder (vs.71)
  6. Dalam Visual Studio.NET IDE, klik Membangun solusi pada Bangun menu.
  7. Pada Berkas menu, klik Simpan semua untuk menyimpan proyek dan file terkait.

Menguji proyek

Sekarang bahwa Anda telah membuat sampel CacheDemo Layanan web, menjalankan GetCacheEntryTimeWebMethod untuk melihat efek CacheDuration atribut pengaturan:
  1. Dalam solusi Explorer, klik kanan CacheDemo.asmx, lalu klik Lihat di penjelajah.

    .Asmx file terbuka di browser, dan GetCacheEntryTimeWebMethod atribut terdaftar sebagai item Bullet di bagian atas Halaman.
  2. Klik GetCacheEntryTime link.
  3. Dalam Nama kotak untuk metode, jenis Joe dan kemudian Klik Memohon untuk menjalankan WebMethod atribut dan kembali hasil XML. Perhatikan waktu stamp yang kembali pada pesan.

    CATATAN: Jika WebServices membantu halaman tidak muncul, Anda dapat menjalankan WebService metode dengan mengetik perintah berikut di kotak alamat Web peramban:
    http://localhost/wscachesample/cachedemo.asmx/GetCacheEntryTime?Name=Joe
    					
  4. Menjalankan WebMethod lagi dengan mengetik Joe. CATATAN: Jika Anda menjalankan WebMethod atribut dalam 60 detik jangka waktu yang ditentukan oleh CacheDuration atribut, cap waktu yang sama muncul.
  5. Ulangi langkah 4, tapi jenis Amy Sebaliknya Joe di Nama kotak untuk WebMethod atribut parameter.

    Perhatikan bahwa cap waktu hasil ini berbeda. Hal ini terjadi karena output default cache hasil berdasarkan parameter WebMethod atribut. Dalam contoh ini, Joe nilai parameter untuk pertama dua tes dan cache Keluaran kembali untuk tes kedua. Ketika Anda menggunakan Amy dalam tes ketiga, Anda menerima hasil baru. Jika Anda mengulangi menguji dalam 60 detik, Anda akan menerima hasil keluaran cache. Perbedaan dalam output caching versi berkaitan dengan parameter WebMethod atribut.

Pemecahan Masalah

Ketika Anda memutuskan apakah atau tidak untuk menerapkan output cache untuk Web layanan, ingat bahwa server sumber daya dapat terpengaruh secara negatif jika The WebMethod atribut parameter yang berkaitan dengan permintaan bervariasi luas atau jika tanggapan melibatkan sejumlah besar data.

REFERENSI

Untuk informasi lebih lanjut tentang WebMethodAttribute.CacheDuration properti dan WebMethodAttribute kelas, lihat topik berikut di.NET Framework kelas Perpustakaan dokumentasi:
WebMethodAttribute.CacheDuration properti
.aspx http://msdn2.Microsoft.com/en-us/library/System.web.Services.webmethodattribute.cacheduration (vs.71)
Untuk informasi tambahan tentang layanan Web, kunjungi situs-situs Website MSDN berikut:
Panduan desain untuk layanan XML Web dibuat menggunakan ASP.NET
.aspx http://msdn2.Microsoft.com/en-us/library/w8excbb0 (vs.71)

Menggunakan WebMethod atribut
.aspx http://msdn2.Microsoft.com/en-us/library/byxd99hx (vs.71)
Untuk sampel tambahan, dokumentasi, dan link yang berhubungan Pemrograman dengan.NET Framework, kunjungi situs CodePlex Web berikut:
http://www.CodePlex.com

Properti

ID Artikel: 318299 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 2.0
  • Microsoft Web Services Enhancements for Microsoft .NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
Kata kunci: 
kbcaching kbhowtomaster kbmt KB318299 KbMtid
Penerjemahan Mesin
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:318299

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com