ControlChannelTrigger 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.
Memungkinkan pemberitahuan real time diterima di latar belakang untuk objek yang membuat koneksi TCP dan ingin diberi tahu tentang lalu lintas masuk.
Panggil **BackgroundExecutionManager.RequestAccessAsync** sebelum menggunakan ControlChannelTrigger.
public ref class ControlChannelTrigger sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(Windows.Networking.Sockets.IControlChannelTriggerFactory, 65536, Windows.Networking.Sockets.ControlChannelTriggerContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Networking.Sockets.ControlChannelTriggerContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
class ControlChannelTrigger final : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Networking.Sockets.ControlChannelTriggerContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Networking.Sockets.IControlChannelTriggerFactory, 65536, "Windows.Networking.Sockets.ControlChannelTriggerContract")]
class ControlChannelTrigger final : IClosable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Networking.Sockets.IControlChannelTriggerFactory), 65536, typeof(Windows.Networking.Sockets.ControlChannelTriggerContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Networking.Sockets.ControlChannelTriggerContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
public sealed class ControlChannelTrigger : System.IDisposable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Networking.Sockets.ControlChannelTriggerContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Networking.Sockets.IControlChannelTriggerFactory), 65536, "Windows.Networking.Sockets.ControlChannelTriggerContract")]
public sealed class ControlChannelTrigger : System.IDisposable
Public NotInheritable Class ControlChannelTrigger
Implements IDisposable
- Warisan
- Atribut
- Penerapan
Persyaratan Windows
| Persyaratan | Deskripsi |
|---|---|
| Rangkaian perangkat |
Windows Desktop Extension SDK (diperkenalkan dalam 10.0.10240.0)
Windows Mobile Extension SDK (diperkenalkan dalam 10.0.10240.0) |
| API contract |
Windows.Networking.Sockets.ControlChannelTriggerContract (diperkenalkan dalam v1.0)
|
Keterangan
Kelas ControlChannelTrigger dan antarmuka terkait digunakan untuk memungkinkan aplikasi Anda menggunakan jaringan saat aplikasi Anda bukan aplikasi latar depan. Aplikasi Universal Windows biasanya ditangguhkan ketika tidak lagi berada di aplikasi latar depan dan dipindahkan ke latar belakang. Ada beberapa pengecualian untuk menangguhkan aplikasi (secara aktif mencetak, mengakses aliran audio, dan mentransfer file di latar belakang, misalnya). Kelas ControlChannelTrigger memungkinkan aplikasi jaringan yang telah membuat koneksi TCP untuk memberi tahu sistem bahwa koneksi jaringan yang dibuat harus tetap beroperasi dan sistem harus membangunkan aplikasi yang ditangguhkan ketika data jaringan diterima untuk aplikasi atau interval timer tetap hidup server kedaluwarsa. Gunakan pemicu saluran kontrol saat aplikasi Anda perlu mempertahankan koneksi jaringan meskipun berada di latar belakang.
Meskipun kelas ControlChannelTrigger dapat digunakan dengan DatagramSocket, StreamSocket, atau StreamSocketListener, Windows 10 menyediakan mekanisme yang ditingkatkan untuk aplikasi yang menggunakan kelas tersebut dan ingin mempertahankan koneksi saat berada di latar belakang. Lihat Komunikasi jaringan di latar belakang untuk detail tentang SocketActivityTrigger dan broker soket.
Kelas ControlChannelTrigger disarankan untuk digunakan oleh instans berikut yang membuat koneksi TCP:
- Kelas HttpClient di Windows. Namespace Web.Http.
- Kelas HttpClient dan HttpClientHandler di System.Net. Namespace http di .NET Framework. Kelas kustom yang berasal dari kelas-kelas ini juga didukung.
- Antarmuka IXMLHTTPRequest2 . Antarmuka IXMLHTTPRequest2 adalah ekstensi untuk objek XMLHttpRequest yang ditentukan dalam beberapa draf kerja yang diterbitkan oleh World Wide Web Consortium (W3C)
Ada beberapa jenis interval tetap hidup yang mungkin terkait dengan aplikasi jaringan. Pada tingkat terendah, aplikasi dapat mengatur opsi tetap hidup TCP untuk mengirim paket tetap hidup TCP antara aplikasi klien dan server untuk mempertahankan koneksi TCP yang dibuat yang tidak digunakan. Kelas HttpClient dan objek XMLHttpRequest JavaScript tidak memiliki opsi untuk mengaktifkan TCP tetap aktif dan opsi ini dinonaktifkan secara default. TCP tetap aktif harus dinonaktifkan untuk menggunakan kelas ControlChannelTrigger untuk mendukung pemberitahuan jaringan latar belakang.
Dalam konteks kelas ControlChannelTrigger, ada dua interval tetap aktif lainnya yang berdampak.
- Interval tetap hidup server - Ini mengacu pada interval tetap hidup dalam hitungan menit yang didaftarkan aplikasi dengan sistem untuk seberapa sering dibangunkan ketika aplikasi telah ditangguhkan. Sistem akan membangunkan aplikasi berdasarkan nilai yang ditetapkan untuk interval tetap hidup ini. Nilai ini diwakili oleh properti ServerKeepAliveIntervalInMinutes pada kelas ControlChannelTrigger dan diatur sebagai argumen ke konstruktor ControlChannelTrigger. Nilai ini dianggap sebagai interval tetap aktif server karena aplikasi jaringan mungkin biasanya mengatur ini berdasarkan perilaku server yang diketahui tempat aplikasi telah membuat koneksi TCP. Misalnya, jika diketahui bahwa server web akan memutuskan dan menghilangkan koneksi TCP jika tidak ada data yang dikirim oleh aplikasi selama 30 menit, aplikasi jaringan dapat mengatur interval tetap aktif server ini menjadi 25 menit.
- Interval tetap hidup jaringan - Ini mengacu pada timer tetap hidup internal yang dikelola oleh komponen jaringan tingkat rendah di tumpukan TCP berdasarkan kondisi jaringan saat ini. Nilai ini mewakili nilai yang diperlukan oleh perantara jaringan untuk menjaga koneksi TCP tetap utuh. Perantara jaringan ini mewakili perangkat keras dan perangkat seperti proksi jaringan dan penerjemah alamat jaringan. Aplikasi jaringan tidak dapat mengatur nilai ini, karena nilai ini ditentukan secara dinamis oleh komponen sistem tingkat rendah di tumpukan TCP. Perhitungan internal interval tetap hidup jaringan memang memperhitungkan interval tetap hidup server. Aplikasi jaringan dapat menunjukkan kepada sistem bahwa timer jaringan tetap hidup harus dikurangi jika koneksi TCP yang dibuat secara teratur dihilangkan dengan memanggil metode DecreaseNetworkKeepAliveInterval pada kelas ControlChannelTrigger.
Riwayat versi
| Versi Windows | Versi SDK | Nilai ditambahkan |
|---|---|---|
| 1607 | 14393 | IsWakeFromLowPowerSupported |
Konstruktor
| Nama | Deskripsi |
|---|---|
| ControlChannelTrigger(String, UInt32, ControlChannelTriggerResourceType) |
Membuat objek ControlChannelTrigger baru dengan ID pemicu saluran kontrol, nilai untuk interval tetap aktif server, dan jenis sumber daya yang diminta untuk pemicu saluran kontrol. |
| ControlChannelTrigger(String, UInt32) |
Membuat objek ControlChannelTrigger baru dengan ID pemicu saluran kontrol dan nilai untuk interval tetap aktif server. |
Properti
| Nama | Deskripsi |
|---|---|
| ControlChannelTriggerId |
Mendapatkan string yang dapat digunakan untuk membedakan berbagai pemicu saluran kontrol di komputer lokal. |
| CurrentKeepAliveIntervalInMinutes |
Mendapatkan interval jaringan tetap hidup, dalam hitungan menit, dikelola oleh komponen jaringan tingkat rendah dalam tumpukan TCP berdasarkan kondisi jaringan saat ini. |
| IsWakeFromLowPowerSupported |
Mendapatkan nilai yang menunjukkan apakah bangun dari status daya rendah didukung. |
| KeepAliveTrigger |
Mendapatkan objek yang mewakili pemicu tetap hidup yang terkait dengan objek ControlChannelTrigger yang harus digunakan aplikasi untuk mengikat kelas aktivasi dengan infrastruktur broker latar belakang. |
| PushNotificationTrigger |
Mendapatkan objek yang mewakili pemicu pemberitahuan push yang terkait dengan objek ControlChannelTrigger yang harus digunakan aplikasi untuk mengikat kelas aktivasi dengan infrastruktur broker latar belakang. |
| ServerKeepAliveIntervalInMinutes |
Dapatkan atau atur interval tetap aktif server, dalam hitungan menit, terdaftar dengan sistem untuk menunjukkan kapan aplikasi dan koneksi jaringan terkait yang digunakan harus bangun. |
| TransportObject |
Mendapatkan objek transportasi yang digunakan sistem untuk koneksi transportasi yang terkait dengan objek ControlChannelTrigger . |
Metode
| Nama | Deskripsi |
|---|---|
| Close() |
Menutup objek ControlChannelTrigger . |
| DecreaseNetworkKeepAliveInterval() |
Menyediakan cara bagi aplikasi untuk menunjukkan bahwa interval jaringan tetap hidup yang dikelola oleh sistem dengan perantara jaringan untuk bangun terlalu lama dan harus dikurangi. Metode ini berlaku untuk elemen kelas dalam Windows. Networking.Sockets dan namespace terkait. |
| Dispose() |
Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola. |
| FlushTransport() |
Menghapus data jaringan apa pun yang digunakan oleh koneksi transportasi yang terkait dengan ControlChannelTrigger ke tumpukan jaringan. |
| UsingTransport(Object) |
Mengatur koneksi transportasi yang akan digunakan oleh pemicu saluran kontrol berdasarkan elemen kelas di Windows. Networking.Sockets dan namespace terkait. |
| WaitForPushEnabled() |
Memungkinkan aplikasi untuk memberi tahu sistem bahwa koneksi telah dibuat dan sistem harus menyelesaikan konfigurasi internal pemicu saluran kontrol. |