Bagikan melalui


ContentPrefetcher Kelas

Definisi

Menyediakan properti untuk menentukan sumber daya web yang akan diambil sebelumnya. Windows akan menggunakan heuristik untuk mencoba mengunduh sumber daya yang ditentukan sebelum aplikasi Anda diluncurkan oleh pengguna.

public ref class ContentPrefetcher abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ContentPrefetcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class ContentPrefetcher
Public Class ContentPrefetcher
Warisan
Object Platform::Object IInspectable ContentPrefetcher
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Keterangan

Banyak kategori aplikasi perlu mengunduh konten web dalam jumlah besar saat diluncurkan. Hal ini dapat mengakibatkan pengalaman pengguna yang buruk di mana pengguna harus menunggu konten dimuat sebelum aplikasi berfungsi penuh. Kelas ContentPrefetcher menyediakan mekanisme untuk menentukan sumber daya yang harus diunduh Windows sebelum aplikasi Anda diluncurkan oleh pengguna.

Heuristik digunakan untuk menentukan kapan prefetching harus terjadi dan sumber daya mana yang akan diunduh. Heuristik ini mempertimbangkan jaringan sistem dan kondisi daya, riwayat penggunaan aplikasi pengguna, dan hasil upaya prefetch sebelumnya untuk memberikan manfaat pengguna maksimum, tetapi tidak ada jaminan bahwa sumber daya tertentu akan diunduh sebelum peluncuran aplikasi tertentu.

Sumber daya yang telah berhasil diambil sebelumnya akan ditempatkan di cache WinINet khusus aplikasi. Tidak ada perubahan yang diperlukan untuk permintaan HTTP yang ada untuk sumber daya ini setelah aplikasi berjalan; WinINet hanya akan melayani konten secara transparan dari cache jika tersedia. Jika sumber daya yang diminta tidak diambil sebelumnya, permintaan HTTP untuk konten hanya menghasilkan kesalahan cache, dan permintaan dibuat ke server. Perhatikan bahwa strategi penembolokan ini berfungsi untuk permintaan HTTP yang dibuat menggunakan antarmuka WinJS.xhr, Windows.Web.Http.HttpClient, dan IXMLHTTPRequest2 . HttpClient .NET Framework tidak didukung.

Kelas ContentPrefetcher menyediakan dua mekanisme untuk menentukan sumber daya yang harus diambil sebelumnya:

  • Properti ContentUris memungkinkan spesifikasi sumber daya sisi klien langsung untuk melakukan prefetch. Ini berguna untuk konten dengan URI yang cukup statis karena tidak berubah antara penggunaan aplikasi berikutnya. Contohnya adalah URI yang terkait dengan bagian aplikasi tempat pengguna berlangganan yang hanya akan berubah saat pengguna memperbarui opsi langganan mereka dengan aplikasi.
  • Properti IndirectContentUri menyediakan untuk menentukan lokasi file XML yang mencantumkan sumber daya untuk prefetch. Sumber daya yang akan diambil sebelumnya kemudian dapat diperbarui secara dinamis dengan memodifikasi konten XML. Ini berguna dalam kasus di mana konten lebih dinamis karena URI konten diharapkan berubah antara penggunaan aplikasi berikutnya.

Contohnya adalah melakukan prefetching gambar untuk artikel berita terbaru, artikel berita dan gambar terkait sering berubah dan file XML dapat terus diperbarui dengan URI terbaru untuk melakukan prefetch. Aplikasi dapat menggunakan kedua properti untuk menentukan sumber daya yang akan diambil sebelumnya. Perhatikan bahwa maksimum 40 URI konten didukung dan sumber daya yang ditentukan melalui properti ContentUri akan diunduh sesuai preferensi yang ditentukan oleh XML IndirectContentUri . Anda harus memprioritaskan konten prefetching yang pertama kali dilihat pengguna, atau yang sering digunakan pengguna untuk mendapatkan manfaat paling banyak dari operasi prefetching. Anda harus menunjukkan konten yang memiliki masa pakai yang cukup lama untuk aplikasi Anda. Jangan mengambil konten yang memiliki waktu kedaluwarsa langsung atau sangat singkat, atau konten yang akan dihentikan dari tampilan pengguna dalam waktu singkat. Konten berumur pendek adalah pilihan yang buruk untuk konten yang diambil sebelumnya karena kemungkinan konten akan kedaluwarsa atau tidak ditampilkan sebelum aplikasi digunakan dan karenanya tidak menjadi manfaat bagi pengguna.

Seperti disebutkan di atas, sistem menentukan kapan prefetching dilakukan untuk aplikasi. Namun, untuk tujuan pengembangan, Anda dapat segera memulai prefetch untuk aplikasi Anda dengan memanggil API desktop antarmuka IContentPrefetcherTaskTrigger .

Untuk membantu dalam penelusuran kesalahan, Anda dapat mendengarkan peristiwa ETW di saluran Microsoft-Windows-BackgroundTransfer-ContentPrefetcher . Kejadian seperti inisiasi dan penyelesaian prefetching, inisiasi, dan penyelesaian permintaan HTTP, dan validasi XML akan memicu peristiwa.

Properti

ContentUris

Array URI yang akan diunduh saat prefetch dilakukan untuk aplikasi.

IndirectContentUri

Menentukan lokasi file XML yang terbentuk dengan baik yang berisi daftar sumber daya yang akan diambil sebelumnya.

LastSuccessfulPrefetchTime

Mendapatkan tanggal dan waktu operasi prefetch konten terakhir yang berhasil.

Berlaku untuk