UploadOperation Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Melakukan operasi unggahan asinkron. Untuk gambaran umum kemampuan Transfer Latar Belakang, lihat Mentransfer data di latar belakang. Unduh sampel transfer Latar Belakang untuk contoh kode.
public ref class UploadOperation sealed : IBackgroundTransferOperationPriority
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class UploadOperation final : IBackgroundTransferOperationPriority
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class UploadOperation : IBackgroundTransferOperationPriority
Public NotInheritable Class UploadOperation
Implements IBackgroundTransferOperationPriority
- Warisan
- Atribut
- Penerapan
Persyaratan Windows
Rangkaian perangkat |
Windows 10 (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)
|
Kemampuan aplikasi |
internetClient
internetClientServer
privateNetworkClientServer
|
Contoh
Contoh berikut menunjukkan cara mengonfigurasi dan memulai operasi unggahan dasar.
using Windows.Foundation;
using Windows.Networking.BackgroundTransfer;
using Windows.Storage.Pickers;
using Windows.Storage;
private async void StartUpload_Click(object sender, RoutedEventArgs e)
{
try
{
Uri uri = new Uri(serverAddressField.Text.Trim());
FileOpenPicker picker = new FileOpenPicker();
picker.FileTypeFilter.Add("*");
StorageFile file = await picker.PickSingleFileAsync();
BackgroundUploader uploader = new BackgroundUploader();
uploader.SetRequestHeader("Filename", file.Name);
UploadOperation upload = uploader.CreateUpload(uri, file);
// Attach progress and completion handlers.
HandleUploadAsync(upload, true);
}
catch (Exception ex)
{
LogException("Upload Error", ex);
}
}
Keterangan
Setelah penghentian aplikasi, aplikasi harus menghitung semua instans UploadOperation yang ada pada start-up berikutnya menggunakan GetCurrentUploadsAsync. Saat aplikasi UWP yang menggunakan Transfer Latar Belakang dihentikan, unggahan yang tidak lengkap akan bertahan di latar belakang. Jika aplikasi dimulai ulang setelah penghentian dan operasi yang tidak lengkap ini tidak dijumlahkan dan diperkenalkan kembali ke sesi saat ini, mereka akan kedaluarsa dan terus menempati sumber daya perangkat. Pertimbangan waktu habis
- 1.) Saat membuat koneksi baru untuk pengunggahan melalui TCP/SSL, upaya koneksi dibatalkan jika tidak dibuat dalam waktu lima menit.
- 2.) Setelah koneksi dibuat, pesan permintaan HTTP yang belum menerima respons dalam waktu dua menit dibatalkan. Dengan asumsi ada konektivitas Internet, Transfer Latar Belakang akan mencoba kembali unggahan hingga tiga kali. Jika konektivitas Internet tidak terdeteksi, upaya tambahan tidak akan dilakukan sampai.
Panduan Penelusuran Kesalahan
Menghentikan sesi penelusuran kesalahan di Microsoft Visual Studio sebanding dengan menutup aplikasi Anda; Unggahan PUT dijeda dan unggahan POST dibatalkan. Bahkan saat penelusuran kesalahan, aplikasi Anda harus menghitung lalu menjeda, memulai ulang, atau membatalkan unggahan yang bertahan.
Namun, jika pembaruan proyek Microsoft Visual Studio, seperti perubahan pada manifes aplikasi, mengharuskan aplikasi dihapus instalannya dan disebarkan ulang untuk penelusuran kesalahan, GetCurrentUploadsAsync tidak dapat menghitung operasi persisten yang dibuat menggunakan penyebaran aplikasi sebelumnya.
Riwayat versi
Versi Windows | Versi SDK | Nilai ditambahkan |
---|---|---|
1803 | 17134 | MakeCurrentInTransferGroup |
2004 | 19041 | RemoveRequestHeader |
2004 | 19041 | SetRequestHeader |
Properti
CostPolicy |
Mendapatkan dan menetapkan kebijakan biaya untuk unggahan. |
Group |
Catatan Grup dapat diubah atau tidak tersedia untuk rilis setelah Windows 8.1. Sebagai gantinya, gunakan TransferGroup. Mendapatkan nilai string yang menunjukkan grup tempat unggahan berada. |
Guid |
Ini adalah pengidentifikasi unik untuk operasi unggahan tertentu. GUID yang terkait dengan operasi pengunggahan tidak akan berubah selama durasi unggahan. |
Method |
Mendapatkan metode yang digunakan untuk unggahan. |
Priority |
Mendapatkan atau mengatur prioritas transfer operasi pengunggahan ini ketika berada dalam BackgroundTransferGroup. Nilai yang mungkin ditentukan oleh BackgroundTransferPriority. |
Progress |
Mendapatkan kemajuan operasi pengunggahan saat ini. |
RequestedUri |
Mendapatkan URI untuk diunggah. |
SourceFile |
Menentukan IStorageFile untuk diunggah. |
TransferGroup |
Mendapatkan grup tempat operasi unggahan ini berada. |
Metode
AttachAsync() |
Mengembalikan operasi asinkron yang dapat digunakan untuk memantau kemajuan dan penyelesaian unggahan yang dilampirkan. Memanggil metode ini memungkinkan aplikasi untuk melampirkan operasi pengunggahan yang dimulai di instans aplikasi sebelumnya. |
GetResponseInformation() |
Mendapatkan informasi respons. |
GetResultStreamAt(UInt64) |
Mendapatkan respons yang diunggah sebagian di lokasi yang ditentukan. |
MakeCurrentInTransferGroup() |
Memprioritaskan operasi transfer unggahan (dan transfer apa pun yang mengikutinya dalam grup transfer yang sama). Memanggil metode ini pada transfer yang bukan milik grup transfer tidak berpengaruh. |
RemoveRequestHeader(String) |
Digunakan untuk menghapus header permintaan HTTP. |
SetRequestHeader(String, String) |
Digunakan untuk mengatur header permintaan HTTP. |
StartAsync() |
Memulai operasi unggahan asinkron. |
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk