ControlChannelTrigger Class

Ermöglicht Klassenelementen im Windows.Networking.Sockets-Namespace und in anderen Netzwerkübertragungen den Empfang von Echtzeitbenachrichtigungen im Hintergrund.

Syntax


public sealed class ControlChannelTrigger : IDisposable

Attribute

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

Member

ControlChannelTriggerKlasse hat diese Membertypen:

Konstruktoren

ControlChannelTriggerKlasse hat diese Konstruktoren.

KonstruktorBeschreibung
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.

 

Methoden

The ControlChannelTrigger Klasse hat diese Methoden. Es erbt auch Methoden von Object Klasse.

MethodeBeschreibung
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.

 

Eigenschaften

Der ControlChannelTriggerKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

ControlChannelTriggerId

SchreibgeschütztGets a string that can be used to differentiate various control channel triggers on the local computer.

CurrentKeepAliveIntervalInMinutes

SchreibgeschütztGets the network keep-alive interval, in minutes, maintained by low-level network components in the TCP stack based on current network conditions.

KeepAliveTrigger

SchreibgeschütztGets 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

SchreibgeschütztGets 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

Lese-/SchreibzugriffGet 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

SchreibgeschütztGets the transport object that the system is using for the transport connection associated with the ControlChannelTrigger object.

 

Hinweise

Die ControlChannelTrigger-Klasse und die zugehörigen Schnittstellen werden verwendet, um den Echtzeitnetzwerkstatus und Trigger für Klassenelemente in Windows.Networking.Sockets und zugehörigen Namespaces zu ermöglichen. Steuerkanaltrigger werden von Netzwerk-Apps mit langer Laufzeit verwendet, um Netzwerk- und Systemressourcenverwendung (eine E-Mail-App, die immer noch ausgeführt wird) zu minimieren. Netzwerktrigger erlauben einer App, zeitweise in einen Stromsparmodus umzuschalten, ohne vorhandene Netzwerkverbindungen in diesem Modus zu unterbrechen. Eine Anwendung kann ein Keep-Alive-Intervall für den Server festlegen, das vom System zum Bestimmen des Aktivierungszeitpunkts der Anwendung verwendet wird. Eine Anwendung kann auch einen Trigger festlegen, um aktiviert zu werden, wenn das System Netzwerkdaten für die Anwendung empfängt. Diese Funktionen werden häufig für die auf Mobilgeräte ausgerichteten Netzwerk-Apps mit langer Laufzeit zum Verlängern des Akkubetriebs verwendet.

Eine Windows Store-App für Windows 8 wird normalerweise angehalten, wenn sie nicht mehr im Vordergrund befindet und in den Hintergrund verschoben wird. Es gibt einige Ausnahmen zum Aussetzen einer App (z. B. aktives Drucken, Zugriff auf einen Audiostream und Übertragen von Dateien im Hintergrund). Mithilfe der ControlChannelTrigger-Klasse kann eine Netzwerk-App, die eine TCP-Verbindung hergestellt hat, das Systems benachrichtigen, eine bestehende Netzwerkverbindung beizubehalten und die angehaltene App zu aktivieren, wenn Netzwerkdaten für die App empfangen werden, oder das Server-Keep-alive-Zeitgeberintervall abläuft.

Die ControlChannelTrigger-Klasse kann von Instanzen der folgenden Klassen in Windows.Networking.Sockets verwendet werden, die eine TCP-Verbindung herstellen:

Die ControlChannelTrigger-Klasse kann auch von Instanzen der folgenden Elemente verwendet werden, die eine TCP-Verbindung herstellen:

  • Die HttpClient-Klasse und die HttpClientHandler-Klasse im System.Net.Http-Namespace im .NET Framework 4.5. Benutzerdefinierte Klassen, die von diesen Klassen abgeleitet werden, werden ebenfalls unterstützt.
  • Die IXMLHTTPRequest2-Schnittstelle. Die IXMLHTTPRequest2-Schnittstelle ist eine Erweiterung des XMLHttpRequest-Objekts, das in mehreren Arbeitsentwürfen definiert wird, die vom World Wide Web Consortium (W3C) veröffentlicht wurden.

Hinweis  Die ControlChannelTrigger-Klasse wird in einer Windows Store-App mit JavaScript nicht unterstützt.

Es gibt mehrere Typen von Keep-Alive-Intervallen, die möglicherweise mit der Netzwerk-App in Beziehung stehen. Auf der niedrigsten Ebene kann eine Anwendung eine TCP Keep-Alive-Option festlegen, um TCP Keep-Alive-Pakete zwischen einer Client-App und einem Server zu senden, sodass eine vorgegebene TCP-Verbindung beibehalten wird, die nicht verwendet wird. Die KeepAlive-Eigenschaft für die StreamSocketControl-Klasse ermöglicht einer App, die TCP-Keep-Alive-Option für StreamSocket zu aktivieren oder zu deaktivieren. Als Standardverhalten für StreamSocket ist TCP Keep-Alive deaktiviert. Die Klassen MessageWebSocket, StreamSocketListener und StreamWebSocket weisen keine Option auf, um TCP Keep-Alive zu aktivieren, und diese Option ist standardmäßig deaktiviert. Ebenso verfügen die HttpClient-Klasse und das XMLHttpRequest JavaScript-Objekt über keine Option zum Aktivieren von TCP Keep-Alive und diese Option ist standardmäßig deaktiviert. Das TCP-Keep-Alive muss deaktiviert werden, damit die ControlChannelTrigger-Klasse verwendet werden kann, um die Netzwerkbenachrichtigungen im Hintergrund zu unterstützten.

Im Kontext der ControlChannelTrigger-Klasse gibt es zwei weitere Keep-Alive-Intervalle, die einen Einfluss haben.

  • Keep-Alive-Intervall des Servers - Dies bezieht sich auf das Keep-Alive-Intervall des Servers in Minuten, das von der App beim System registriert wird, um anzugeben, wie oft die App reaktiviert werden soll, nachdem sie suspendiert wurde. Die App wird auf der Grundlage dieses festgelegten Keep-Alive-Werts aktiviert. Dieser Wert wird durch die ServerKeepAliveIntervalInMinutes-Eigenschaft für eine ControlChannelTrigger-Klasse dargestellt und von den Konstruktoren festgelegt, um eine neue ControlChannelTrigger-Instanz zu initialisieren. Dieser Wert wird als „Keep-alive“-Intervall für den Server betrachtet, da eine Netzwerk-App dies in der Regel anhand des bekannten Verhaltens des Servers festlegen könnte, zu dem die App eine TCP-Verbindung hergestellt hat. Wenn beispielsweise bekannt ist, dass ein Webserver TCP-Verbindungen trennt und verwirft, wenn von der App ca. 30 Minuten keine Daten versendet werden, könnte die Netzwerk-App dieses "Keep-alive"-Intervall für den Server auf 25 Minuten einstellen.
  • Keep Alive-Intervall des Netzwerks - Dies bezieht sich auf einen internen Keep Alive-Timer, der von Netzwerkkomponenten der unteren Ebene in einem TCP-Stapel entsprechend den aktuellen Netzwerkbedingungen aufrecht erhalten wird. Dieser Wert stellt den Wert dar, den Netzwerkvermittler benötigen, um die TCP-Verbindung intakt zu halten. Diese Netzwerkvermittler stellen Hardware und Geräte dar, beispielsweise Netzwerkproxys und die Netzwerkadressübersetzung (NAT). Eine Netzwerk-App kann diesen Wert nicht festlegen, da dieser Wert dynamisch von Systemkomponenten auf niedriger Ebene im TCP-Stapel bestimmt wird. Die interne Berechnung des Netzwerk-Keep-Alive-Intervalls berücksichtigt das Server-Keep-Alive-Intervall. Eine Netzwerk-App kann dem System angeben, dass der Netzwerk-Keep-Alive-Zeitgeber verringert werden soll, wenn hergestellte TCP-Verbindungen regelmäßig abgebrochen werden, indem die DecreaseNetworkKeepAliveInterval-Methode für eine ControlChannelTrigger-Klasse aufgerufen wird.

Anforderungen

Mindestens unterstützter Client

Windows 8 [Nur Windows Store-Apps]

Mindestens unterstützter Server

Windows Server 2012 [Nur Windows Store-Apps]

Namespace

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

Metadaten

Windows.winmd

DLL

Windows.Networking.Sockets.Pushenabledapplication.dll

Siehe auch

Weitere Ressourcen
Verbindung mit einem Web-Dienst
Herstellen der Verbindung zu Netzwerkdiensten
Verbindung mit einem WebSocket-Dienst
Festlegen von Hintergrundkonnektivitätsoptionen
Problembehandlung und Debuggen von Netzwerkverbindungen
Referenz
HttpClient
HttpClientHandler
IXMLHTTPRequest2
MessageWebSocket
IClosable
Object
StreamSocket
StreamWebSocket
System.Net.Http
Beispiele
Hintergrundtaskbeispiel
Beispiel ControlChannelTrigger HttpClient
Beispiel ControlChannelTrigger IXMLHTTPRequest2
Beispiel ControlChannelTrigger StreamSocket
Beispiel ControlChannelTrigger StreamWebSocket

 

 

Anzeigen:
© 2014 Microsoft