Bagikan melalui


Properti Ekstensi BITS IIS

Background Intelligent Transfer Service (BITS) menggunakan ISAPI untuk memperluas IIS untuk mendukung pekerjaan pengunggahan. Tabel berikut mencantumkan properti yang ditambahkan BITS ke metabase IIS untuk komponen direktori virtual. BITS menggunakan properti ini untuk menentukan cara mengunggah file. Properti ekstensi BITS IIS dapat diwariskan, kecuali BITSUploadEnabled.

Properti Deskripsi
Jenis Data BITSUploadEnabled: Boolean
Menunjukkan apakah unggahan BITS diaktifkan pada direktori virtual. Jika pengaturan tidak ada atau 0, unggahan BITS dinonaktifkan.
Ini adalah properti baca-saja. Untuk mengatur properti ini, panggil metode EnableBITSUploads atau DisableBITSUploads dari antarmuka IBITSExtensionSetup.
Jenis Data BITSSessionTimeout: DWORD
Jumlah detik koneksi dipertahankan jika tidak ada kemajuan yang dibuat untuk mengunggah file; timer diatur ulang saat kemajuan dibuat. BITS menutup koneksi jika waktu habis tercapai dan membersihkan data yang terkait dengan sesi.
Mengatur waktu habis sesi yang singkat dapat menjadi masalah untuk pekerjaan pengunggah balasan karena balasan hanya diunduh saat pengguna masuk dan terhubung ke jaringan. Dimungkinkan agar sesi kehabisan waktu sebelum balasan diunduh, dalam hal ini sesi dibatalkan dan file balasan dihapus.
Perhatikan bahwa BITS membatalkan pekerjaan jika nilai Kebijakan Grup JobInactivityTimeout (defaultnya adalah 90 hari) tercapai, terlepas dari pengaturan ini.
Nilai defaultnya adalah 1.209.600 (14 hari).
Jenis Data BITSMaximumUploadSize: String
Jumlah maksimum byte yang dapat diunggah per pekerjaan. Tentukan jumlah maksimum byte sebagai string desimal; nilai string harus kurang dari atau sama dengan "1844674407370955". String kosong sama dengan menentukan "1844674407370955".
Nilai default adalah string kosong.
Catatan: Di IIS 7, batas pengunggahan default adalah 30 juta byte. Nilai properti BITSMaximumUploadSize tidak boleh melebihi batas IIS. Untuk detail dan informasi tentang mengubah default IIS, lihat KB942074.
Jenis Data BITSServerNotificationType: DWORD
Menentukan cara mengirim file unggahan ke aplikasi server. Nilai yang mungkin adalah: 0, 1, dan 2.
Nilai 0 berarti file tidak dikirim ke aplikasi server. BITS menempatkan file unggahan dalam direktori yang ditentukan dalam nama jarak jauh (nama jarak jauh yang ditentukan ketika Anda menambahkan file ke pekerjaan) tanpa memberi tahu aplikasi server. Jika file saat ini ada di direktori tujuan, file tersebut diganti dengan file unggahan.
Nilai 1 berarti BITS meneruskan lokasi file unggahan ke aplikasi server yang ditentukan dalam properti BITSServerNotificationURL . Aplikasi server memproses file dan menghasilkan file balasan, jika diperlukan. Secara default, BITS menghapus file unggahan dan balasan dari server setelah menerima respons dari aplikasi server. Agar BITS menyalin file unggahan ke lokasi yang ditentukan oleh nama file jarak jauh dalam pekerjaan, sertakan header BITS-Copy-File-To-Destination dalam respons Anda. Jika Anda tidak menyertakan header dan ingin menyimpan file unggah dan balas, Anda harus menyalin file unggah dan balas ke lokasi baru sebelum merespons.
Nilai 2 berarti BITS meneruskan file unggahan dalam isi permintaan ke aplikasi server yang ditentukan dalam properti BITSServerNotificationURL . Aplikasi server memproses file dan meneruskan kembali balasan dalam isi respons, jika diperlukan.
Untuk detail tentang header permintaan dan respons, lihat Protokol Pemberitahuan untuk Aplikasi Server.
Aplikasi server harus memberikan respons dalam waktu lima menit. Jika aplikasi server tidak membalas dalam waktu lima menit, pekerjaan memasuki status kesalahan sementara. Ketika penundaan coba lagi kedaluwarsa, server BITS akan mengirim pemberitahuan lain ke aplikasi server (aplikasi server harus ditulis untuk menangani pemberitahuan duplikat).BITS 1.5: Waktu pemberitahuan habis adalah 30 detik.

Nilai default-nya adalah 0.
Jenis Data BITSServerNotificationURL: String
Opsional. Berisi URL aplikasi server tempat BITS memposting file unggahan. Anda harus menentukan URL jika nilai properti BITSServerNotificationType adalah 1 atau 2. URL dibatasi hingga 2.200 karakter, tidak termasuk terminator null. URL harus berupa URL HTTP; BITS tidak mendukung URL pemberitahuan HTTPS.
Jika URL tidak tersedia pada saat pengunggahan, BITS akan mencoba kembali unggahan hingga URL pemberitahuan ada atau sampai periode coba lagi kedaluwarsa.
Perhatikan bahwa jika nama jarak jauh yang ditentukan dalam pekerjaan berisi string kueri, string kueri ditambahkan ke URL yang Anda tentukan. Misalnya, jika nama jarak jauh berisi https://myserver/myvdir/subdir/file.asp?ACCOUNT=86433 dan Anda menentukan pengaturan BITSServerNotificationURL sebagai https://otherserver/myvdir2/bag.asp, URL tempat posting BITS berada https://otherserver/myvdir2/bag.asp?ACCOUNT=86433.
Jika URL asli adalah https://myserver/myvdir/file.txt dan URL pemberitahuan myasp.asp, BITS menggunakan http//myserver/myvdir/myasp.asp sebagai URL pemberitahuan.
Jika jalur dan bagian nama file URL berisi karakter Unicode yang tidak sama dengan halaman kode pada klien dan server, terjemahan URL akan gagal di server dan pekerjaan BITS akan ditempatkan dalam status kesalahan. Jika bagian server URL berisi karakter Unicode, Anda harus mengodekan bagian server menggunakan Nama Domain Internasional (IDN).
Jenis Data BITSHostId: String
Atur properti ini jika penginstalan server adalah farm web yang tidak menggunakan penyimpanan bersama.
Tentukan nama server atau alamat IP server yang akan disambungkan kembali setelah proses pengunggahan terganggu. Biasanya, Anda menentukan nama server yang sedang Anda konfigurasi. URL dibatasi hingga 300 karakter, tidak termasuk terminator null.
Jika Anda tidak menentukan properti ini dan proses pengunggahan terganggu, ada kemungkinan BITS akan melanjutkan pekerjaan di server lain di farm. Namun, server sebelumnya masih berisi file unggahan parsial dari sebelum gangguan. BITS menghapus file parsial setelah BITSSessionTimeout kedaluwarsa.
Catatan: Jangan gunakan properti BITSHostId jika SSL digunakan di farm web yang menggunakan Network Load Balancing (NLB) atau nama DNS dengan beberapa alamat IP, kecuali Anda menyertakan nama kluster dan nama server individual dalam sertifikat. (Jika nama server ditentukan dalam BITSHostId tidak cocok dengan nama umum pada sertifikat, pekerjaan akan gagal.) Sebagai gantinya, untuk NLB, atur parameter Afinitas ke Tunggal untuk memastikan bahwa klien berkomunikasi dengan server yang sama di masa mendatang.
Jenis Data BITSHostIdFallbackTimeout: DWORD
Jumlah detik klien BITS mencoba menyambungkan kembali ke nama server BITSHostId sebelum kembali ke nama host yang ditentukan dalam nama file jarak jauh pekerjaan. Timer dimulai ketika BITS tidak dapat terhubung ke server BITSHostId . Timer diatur ulang ketika klien berhasil terhubung ke server.
Perhatikan bahwa tidak ada nilai batas waktu kemajuan pekerjaan (lihat IBackgroundCopyJob::SetNoProgressTimeout) harus lebih lama dari nilai batas waktu ini. Jika tidak, pekerjaan akan gagal sebelum nilai batas waktu fallback kedaluwarsa.
Atur properti ini hanya jika Anda mengatur properti BITSHostId .
Nilai defaultnya adalah 86.400 (1 hari).
BitSAllowOverwritesJenis data: Bilangan bulat
Menunjukkan apakah file unggahan dapat menimpa file yang ada dengan nama yang sama. File unggahan menimpa file yang ada jika BITSAllowOverwrites adalah 1.
Nilai default-nya adalah 0.
IIS 6.0: Anda hanya dapat mengatur properti ini dari skrip, Anda tidak dapat mengaturnya menggunakan halaman properti ekstensi BITS di antarmuka pengguna IIS.

BITSCleanupUseDefaultJenis data: Boolean
Menunjukkan apakah tugas pembersihan menggunakan jadwal default. Secara default, tugas pembersihan dijalankan setiap 12 jam.
Atur ke 1 untuk menggunakan jadwal default; jika tidak, 0 untuk menentukan jadwal.
Untuk menentukan jadwal, gunakan properti BITSCleanupCount dan BITSCleanupUnits .
Tugas pembersihan membersihkan direktori virtual dengan menghapus pekerjaan yang belum dimodifikasi dalam periode waktu habis sesi (lihat BITSSessionTimeout).
Defaultnya adalah 1 menggunakan jadwal default.
IIS 6.0: Tidak didukung.
Jenis Data BITSCleanupCount: Bilangan bulat
Menentukan interval untuk menunggu antara menjalankan tugas pembersihan. Interval yang dapat Anda tentukan tergantung pada unit. Untuk kemungkinan nilai interval, lihat properti BITSCleanupUnits .
Properti ini diabaikan jika BITSCleanupUseDefault adalah 0.
IIS 6.0: Tidak didukung.

Jenis Data BITSCleanupUnits: Bilangan bulat
Menentukan unit untuk interval pembersihan yang ditentukan dalam properti BITSCleanupCount . Properti ini diabaikan jika BITSCleanupUseDefault adalah 0.
Nilai yang mungkin adalah:
0: Unit adalah menit. Nilai yang mungkin adalah 1 hingga 60.
1: Unit adalah jam. Ini adalah default. Nilai yang mungkin adalah 1 hingga 24.
2: Unit adalah hari. Nilai yang mungkin adalah 1 hingga 360.

IIS 6.0: Tidak didukung.

BITSNumberOfSessionsLimitJenis data: Bilangan bulat
Membatasi jumlah sesi pengunggahan yang dapat ada secara bersamaan untuk pengguna. Jika jumlah sesi untuk pengguna lebih dari batas ini, ketika tugas pembersihan berjalan, itu akan menghapus sesi terbaru sampai jumlah sesi untuk pengguna berada di bawah batas.
Defaultnya adalah 50 sesi.
IIS 6.0: Tidak didukung.

Jenis Data BITSSessionLimitEnable: Boolean
Menunjukkan apakah BITS membatasi jumlah sesi pengunggahan per pengguna. Jika pengaturan tidak ada atau 0, batas dinonaktifkan.
Untuk menentukan batas, atur properti BITSNumberOfSessionsLimit .
Defaultnya adalah 1.
IIS 6.0: Tidak didukung.

Contoh berikut menunjukkan cara mengatur properti ekstensi BITS IIS menggunakan Host Skrip Windows. Jika direktori virtual menunjuk ke berbagi jarak jauh, atur juga properti UNCUserName dan UNCPassword IIS.

if (WScript.Arguments.length < 2)
{
    WScript.Echo("Usage: bitsvdir virtual_directory local_directory");
    WScript.Quit(1);
}

VirtualDirectoryName = WScript.Arguments(0);
LocalDirectoryName = WScript.Arguments(1);

ServerObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT");
VirtualDir = ServerObj.Create("IIsWebVirtualDir", VirtualDirectoryName );

VirtualDir.Path = LocalDirectoryName;
VirtualDir.AppIsolated = 0;
VirtualDir.AccessScript = true;
VirtualDir.AccessRead = false;
VirtualDir.AccessWrite = false;
VirtualDir.SetInfo();

// Set BITS specific IIS configuration settings
VirtualDir.EnableBITSUploads();
VirtualDir.BITSMaximumUploadSize = "4294967296";
VirtualDir.SetInfo();

WScript.Echo( "Created virtual directory " + VirtualDirectoryName + 
              " with a local directory of " + LocalDirectoryName );
WScript.Quit( 0 );