Windows Dev Center

ControlChannelTrigger Class

Permet de recevoir des notifications en temps réel en arrière-plan pour les éléments de classe dans l'espace de noms Windows.Networking.Sockets et d'autres transports de réseau.

Syntaxe


public sealed class ControlChannelTrigger : IDisposable

Attributs

[MarshalingBehavior(Agile)]
[Threading(MTA)]
[Version(0x06020000)]
[WebHostHidden()]

Membres

ControlChannelTriggerClasse possède ces types de membres :

Constructeurs

ControlChannelTriggerClasse possède ces constructeurs.

ConstructeurDescription
ControlChannelTrigger(String, UInt32) Creates a new ControlChannelTrigger object with a control channel trigger ID and a value for the server keep-alive interval.
ControlChannelTrigger(String, UInt32, ControlChannelTriggerResourceType) Creates a new ControlChannelTrigger object with a control channel trigger ID, a value for the server keep-alive interval, and the resource type requested for the control channel trigger.

 

Méthodes

The ControlChannelTrigger Classe a les méthodes suivantes. Elle hérite également des méthodes de Object Classe.

MéthodeDescription
Close [C++]Closes the ControlChannelTrigger object.
DecreaseNetworkKeepAliveInterval Provides a way for an app to indicate that the network keep-alive interval maintained by the system with network intermediaries to wake up was too long and should be decreased. This method applies to class elements in the Windows.Networking.Sockets and related namespaces.
Dispose [C#, VB]Performs tasks associated with freeing, releasing, or resetting unmanaged resources.
FlushTransport Flushes any networking data used by the transport connection associated with the ControlChannelTrigger to the networking stack.
UsingTransport Sets the transport connection to be used by a control channel trigger by class elements in the Windows.Networking.Sockets and related namespaces.
WaitForPushEnabled Allows an app to notify the system that a connection has been established and the system should complete the internal configuration of the control channel trigger.

 

Propriétés

Le ControlChannelTriggerClasse a les propriétés suivantes.

PropriétéType d'accèsDescription

ControlChannelTriggerId

En lecture seuleGets a string that can be used to differentiate various control channel triggers on the local computer.

CurrentKeepAliveIntervalInMinutes

En lecture seuleGets the network keep-alive interval, in minutes, maintained by low-level network components in the TCP stack based on current network conditions.

KeepAliveTrigger

En lecture seuleGets an object that represents the keep-alive trigger associated with the ControlChannelTrigger object that an app should use to bind the activation class with the background broker infrastructure.

PushNotificationTrigger

En lecture seuleGets an object that represents the push notification trigger associated with the ControlChannelTrigger object that an app should use to bind the activation class with the background broker infrastructure.

ServerKeepAliveIntervalInMinutes

Lecture/écritureGet or set the server keep-alive interval, in minutes, registered with the system to indicate when the app and associated network connections used should wake up.

TransportObject

En lecture seuleGets the transport object that the system is using for the transport connection associated with the ControlChannelTrigger object.

 

Remarques

La classe ControlChannelTrigger et les interfaces associées sont utilisées pour activer l'état du réseau en temps réel et se déclenche pour les éléments de classe dans l'espace de noms Windows.Networking.Sockets et les espaces de noms associés. Les déclencheurs de canal de contrôle sont utilisés par les applications réseau à durée d'exécution longue pour réduire l'utilisation des ressources réseau et système (une application de messagerie électronique qui est laissée ouverte, par exemple). Les déclencheurs réseau permettent à une application de passer en mode Alimentation basse pendant de longues périodes tout en conservant intactes les connexions réseau établies et en fonctionnant dans un état Alimentation basse. Une application peut définir un intervalle persistant utilisé par le système lorsque l'application doit se réveiller. Une application peut également définir un déclencheur pour indiquer la réception de données de réseau issues du système qui lui sont destinées. Ces fonctionnalités sont couramment utilisées par les applications réseau à période d'activité longue pour appareils mobiles afin de prolonger l'autonomie des batteries.

Une application Windows Store pour Windows 8 est normalement interrompue lorsqu'elle ne figure plus en application de premier plan et est déplacée à l'arrière-plan. Quelques exceptions s'opposent à l'interruption d'une application (impression en cours, accès à un flux audio et transfert de fichiers en arrière-plan, par exemple). La classe ControlChannelTrigger permet à une application de réseau qui a établi une connexion TCP d'informer le système qu'une connexion réseau établie doit rester opérationnelle et que le système doit réveiller l'application interrompue lorsque des données de réseau sont reçues pour l'application ou que le délai d'attente Keep Alive du serveur expire.

La classe ControlChannelTrigger peut être utilisée par les instances des classes suivantes dans le Windows.Networking.Sockets qui établit une connexion TCP :

La classe ControlChannelTrigger peut également être utilisée par les instances de la classe suivante qui établissent une connexion TCP :

  • Classes HttpClient et HttpClientHandler de l'espace de noms System.Net.Http du .NET Framework 4,5. Les classes personnalisées qui dérivent de ces classes sont également prises en charge.
  • Interface IXMLHTTPRequest2. L'interface IXMLHTTPRequest2 est une extension de l'objet XMLHttpRequest défini dans plusieurs documents non définitifs publiés par le World Wide Web Consortium (W3C)

Remarque  La classe ControlChannelTrigger n'est pas prise en charge dans une application du Windows Store utilisant JavaScript.

Il existe plusieurs types d'intervalles de persistance qui peuvent concerner une application réseau. Au niveau le plus bas, une application peut définir une option persistante active TCP pour envoyer des paquets persistants actifs TCP entre une application cliente et un serveur en vue de mettre à jour une connexion TCP établie qui n'est pas utilisée. La propriété KeepAlive sur la classe StreamSocketControl permet à une application d'activer ou de désactiver cette option de persistance TCP sur un StreamSocket. Le comportement par défaut d'un StreamSocket est que la persistance TCP est désactivée. Les classes MessageWebSocket, StreamSocketListener et StreamWebSocket n'ont pas d'option permettant d'activer la persistance TCP et cette option est désactivée par défaut. De même, la classe HttpClient et l'objet XMLHttpRequest JavaScript n'ont pas une option de persistance TCP et cette option est désactivée par défaut. La persistance TCP doit être désactivée pour pouvoir utiliser la classe ControlChannelTrigger pour prendre en charge les notifications réseau en arrière-plan.

Dans le contexte de la classe ControlChannelTrigger, deux autres intervalles persistants ont un impact.

  • Délai d'attente Keep-Alive du serveur : désigne un délai d'attente de persistance en minutes que l'application enregistre avec le système concernant la fréquence de réveil de l'application lorsqu'elle a été suspendue. Le système réveillera l'application en fonction de la valeur définie pour cet intervalle de persistance. Cette valeur est représentée par la propriété ServerKeepAliveIntervalInMinutes sur une classe ControlChannelTrigger et est définie par les constructeurs pour initialiser une nouvelle instance de ControlChannelTrigger . Cette valeur est considérée comme un intervalle de persistance de serveur étant donné qu'une application réseau peut normalement définir cette valeur en fonction du comportement connu du serveur avec lequel l'application a établi une connexion TCP. Par exemple, si un serveur Web déconnecte et abandonne des connexions TCP en l'absence de données envoyées par l'application pendant 30 minutes, l'application de réseau peut définir valeur de 25 minutes pour le délai d'attente Keep-Alive du serveur.
  • Intervalle réseau persistant : fait référence à une minuterie persistante interne gérée par les éléments du réseau de niveau inférieur dans la pile TCP en fonction de conditions réseau actuelles. Cette valeur représente la valeur requise par les intermédiaires de réseau pour garder la connexion TCP intacte. Ces intermédiaires réseau représentent le matériel et les périphériques tels que les proxies réseau et les traducteurs d'adresse réseau. Une application réseau ne peut pas définir cette valeur, cette valeur est déterminée dynamiquement par les composants système de niveau inférieur dans la pile TCP. Le calcul interne du délai de persistance du réseau ne tient pas compte du délai de persistance du serveur. Une application réseau peut indiquer au système que la minuterie persistante du réseau doit être diminuée si des connexions TCP établies sont régulièrement interrompues en appelant la méthode DecreaseNetworkKeepAliveInterval d'une classe ControlChannelTrigger.

Conditions requises

Client minimal pris en charge

Windows 8 [Applications Windows Store uniquement]

Serveur minimal pris en charge

Windows Server 2012 [Applications Windows Store uniquement]

Espace de noms

Windows.Networking.Sockets
Windows::Networking::Sockets [C++]

Métadonnées

Windows.winmd

DLL

Windows.Networking.Sockets.Pushenabledapplication.dll

Voir aussi

Autres ressources
Connexion à un service Web
Connexion aux services réseau
Se connecter à un service de WebSocket
Comment définir les options de connectivité d'arrière-plan
Dépannez et déboguez les connexions réseau
Référence
HttpClient
HttpClientHandler
IXMLHTTPRequest2
MessageWebSocket
IClosable
Object
StreamSocket
StreamWebSocket
System.Net.Http
Exemples
Exemple de tâche en arrière-plan
ControlChannelTrigger HttpClient, exemple
ControlChannelTrigger IXMLHTTPRequest2, exemple
ControlChannelTrigger StreamSocket, exemple
ControlChannelTrigger StreamWebSocket, exemple

 

 

Afficher:
© 2015 Microsoft