ControlChannelTrigger Kelas

Definisi

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.

Catatan

Kelas ini tidak didukung pada Windows Phone.

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
Object Platform::Object IInspectable ControlChannelTrigger
Atribut
Penerapan

Persyaratan Windows

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 aktif 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:

Ada beberapa jenis interval tetap hidup yang mungkin terkait dengan aplikasi jaringan. Pada tingkat terendah, aplikasi dapat mengatur opsi TCP tetap hidup untuk mengirim paket TCP tetap aktif 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 aktif 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 biasanya dapat mengatur ini berdasarkan perilaku server yang diketahui tempat aplikasi telah membuat koneksi TCP. Misalnya, jika diketahui bahwa server web akan memutuskan sambungan 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 aktif 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 dalam tumpukan TCP. Perhitungan internal interval keep-alive 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

ControlChannelTrigger(String, UInt32)

Membuat objek ControlChannelTrigger baru dengan ID pemicu saluran kontrol dan nilai untuk interval tetap aktif server.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

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.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

Properti

ControlChannelTriggerId

Mendapatkan string yang dapat digunakan untuk membedakan berbagai pemicu saluran kontrol di komputer lokal.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

CurrentKeepAliveIntervalInMinutes

Mendapatkan interval tetap hidup jaringan, dalam hitungan menit, dikelola oleh komponen jaringan tingkat rendah dalam tumpukan TCP berdasarkan kondisi jaringan saat ini.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

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.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

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.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

ServerKeepAliveIntervalInMinutes

Dapatkan atau atur interval tetap hidup server, dalam hitungan menit, yang terdaftar di sistem untuk menunjukkan kapan aplikasi dan koneksi jaringan terkait yang digunakan harus bangun.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

TransportObject

Mendapatkan objek transportasi yang digunakan sistem untuk koneksi transportasi yang terkait dengan objek ControlChannelTrigger .

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

Metode

Close()

Menutup objek ControlChannelTrigger .

Catatan

Metode ini tidak didukung pada Windows Phone.

DecreaseNetworkKeepAliveInterval()

Menyediakan cara bagi aplikasi untuk menunjukkan bahwa interval tetap hidup jaringan yang dikelola oleh sistem dengan perantara jaringan untuk bangun terlalu lama dan harus dikurangi. Metode ini berlaku untuk elemen kelas di Windows.Networking.Sockets dan namespace terkait.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola.

FlushTransport()

Menghapus data jaringan apa pun yang digunakan oleh koneksi transportasi yang terkait dengan ControlChannelTrigger ke tumpukan jaringan.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

UsingTransport(Object)

Mengatur koneksi transportasi yang akan digunakan oleh pemicu saluran kontrol berdasarkan elemen kelas di Windows.Networking.Sockets dan namespace terkait.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

WaitForPushEnabled()

Memungkinkan aplikasi untuk memberi tahu sistem bahwa koneksi telah dibuat dan sistem harus menyelesaikan konfigurasi internal pemicu saluran kontrol.

Catatan

Kelas ControlChannelTrigger tidak didukung di Windows Phone.

Berlaku untuk

Lihat juga