Eine spezielle Warteschlange namens system empfängt QAnywhere-Systemmeldungen. Zwei Arten von Nachrichten werden an die Systemwarteschlange gesendet:
Der nachstehende C#-Programmcode verarbeitet Systemmeldungen und normale Nachrichten und kann nützlich sein, wenn Sie die Richtlinie ondemand verwenden. Bei diesem Beispiel wird davon ausgegangen, dass Sie die Message Handling-Methoden onMessage() und onSystemMessage() festgelegt haben, die die Anwendungslogik für die Verarbeitung der Nachrichten implementieren.
// Declare the message listener and system listener. private QAManager.MessageListener _receiveListener; private QAManager.MessageListener _systemListener; ... // Create a MessageListener that uses the appropriate message handlers. _receiveListener = new QAManager.MessageListener( onMessage ); _systemListener = new QAManager.MessageListener( onSystemMessage ); ... // Register the message handler. mgr.SetMessageListener( Warteschlangenname, _receiveListener ); mgr.SetMessageListener( "system", _systemListener ); |
Der System-Message-Handler kann die Nachrichteneigenschaften abfragen, um die enthaltenen Informationen zu identifizieren.
Die Nachrichtentyp-Eigenschaft zeigt an, ob die Nachricht eine Netzwerkstatus-Benachrichtigung enthält. Für eine Nachricht
msg
können Sie beispielsweise folgende Verarbeitung durchführen:
msg_type = (MessageType)msg.GetIntProperty( MessageProperties.MSG_TYPE ); if( msg_type == MessageType.NETWORK_STATUS_NOTIFICATION ) { // Process a network status change. mgr.TriggerSendReceive( ); } else if ( msg_type == MessageType.PUSH_NOTIFICATION ) { // Process a push notification. mgr.TriggerSendReceive( ); } else if ( msg_type == MessageType.REGULAR ) { // This message type should not be received on the // system queue. Take appropriate action here. } |
Netzwerkstatus-Benachrichtigungen
Benachrichtigungen der Push-Benachrichtigung
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |