Pixlib Servizi - Proroga per le chiamate remote

Nuova lezione, questa volta sull'uso di estensione PixService per effettuare chiamate remote.

Chiamate che caricherà i dati in modo semplice e anche effettuare chiamate a servizi remoti complessi (AMF, HTTP ...).

Il PixService estensione contiene diverse implementazioni concrete:

  • PXHTTPService: Chiamate verso pagine indietro distanza di dati;
  • PXStreamService: chiamate a pagine remote restituendo una URLStream;
  • PXSharedObjectService: Le chiamate verso un SharedObject;
  • PXAMFService: invito a un servizio di AMF;
  • PXAMFMultipleServices: Più chiamate ai servizi di AMF (in un solo passaggio).

L'API definita nel nucleo di Pixlib permette per ciascuno di questi servizi:

  • serie di argomenti da aggiungere durante la chiamata;
  • Iscriviti a cuffie per monitorare lo stato della chiamata;
  • definire un processo di de dati di serializzazione, se necessario.

Prendete un primo esempio con la classe PXHTTPService.

  pacchetto
 {
	 pixlib . core . PXBaseDocument ; net importazione nucleo pixlib PXBaseDocument ...;
	 pixlib . log . PXDebug ; net importazione log PXDebug pixlib ...;
	 pixlib . log . PXTraceLayout ; net importazione log PXTraceLayout pixlib ...;
	 pixlib . log . addLogListener ; net importazione log addLogListener pixlib ...;
	 pixlib . services . PXHTTPService ; net importazione servizi pixlib PXHTTPService ...;
	 pixlib . services . PXService ; net importazione servizi pixlib PXService ...;
	 pixlib . services . PXServiceEvent ; net importazione pixlib servizi PXServiceEvent ...;

	 . URLRequestMethod ; URLRequestMethod import flash.net.;

	 Sample extends PXBaseDocument Esempio public class estende PXBaseDocument
	 {
		 onDocumentReady ( ) : void funzione onDocumentReady Override protected (): void
		 {
			 getInstance ( ) ) ; addLogListener (PXTraceLayout getInstance ().)

			 String = "Anonymous" ; var username: String = "Anonymous";
			 String = "" ; var pwd: String = "";

			 PXService = new PXHTTPService ( "http://www..../getSession.php" , URLRequestMethod . POST ) ; Servizio var: PXService = new PXHTTPService (. "http://www..../getSession.php" URLRequestMethod POST);
			 "login" , username , "pass" , pwd ) ; setArguments Servizio ("login", username, "pass", pwd).;
			 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; AddEventListener Servizio. (PXServiceEvent onDataResultEVENT, _onResult.)
			 ; Servizio execute ().;
		 }

		 _onResult ( event : PXServiceEvent ) : void funzione privata _onResult (evento: PXServiceEvent): void
		 {
			 event . result , this ) ; PXDebug DEBUG. (Risultato Evento, questo.)
		 }
	 }
 } 

Sopra quindi facciamo una semplice chiamata alla pagina "getSession.php" specificando che inviamo modalità "POST" argomenti.

Abbiamo poi rivolgiamo i nostri due argomenti tramite i "setArguments ()" metodo che per le opere PXHTTPService come un "nome / valore" coppia. Qui la proprietà "login", quindi il suo valore, la proprietà "pass" e il suo valore.

Poi aggiungere un listener per monitorare il risultato restituito da questa chiamata.

Naturalmente, è possibile utilizzare direttamente la classe PXHTTPService invece di passare attraverso l'interfaccia PXService. Ciò consente l'uso di metodi specifici per questa classe.

  PXHTTPService = new PXHTTPService ( "http://www..../getSession.php" , URLRequestMethod . POST ) ; Servizio var: PXHTTPService = new PXHTTPService (. "http://www..../getSession.php" URLRequestMethod POST);
 "login" , username ) ; AddVariable Servizio ("login", username).;
 "pass" , pwd ) ; AddVariable Servizio ("pass", pwd).;
 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; AddEventListener Servizio. (PXServiceEvent onDataResultEVENT, _onResult.)
 ; Servizio execute ().; 

Questa regola si applica a tutte le classi di PixService.

Le altre chiamate funzionano allo stesso modo (grazie PXService), ma se un po 'più specifico per classe PXAMFMultiServices.

  pacchetto
 {
	 pixlib . core . PXBaseDocument ; net importazione nucleo pixlib PXBaseDocument ...;
	 pixlib . log . PXDebug ; net importazione log PXDebug pixlib ...;
	 pixlib . log . PXTraceLayout ; net importazione log PXTraceLayout pixlib ...;
	 pixlib . log . addLogListener ; net importazione log addLogListener pixlib ...;
	 pixlib . services . PXAMFMultiServices ; net importazione pixlib servizi PXAMFMultiServices ...;
	 pixlib . services . PXService ; net importazione servizi pixlib PXService ...;
	 pixlib . services . PXServiceEvent ; net importazione pixlib servizi PXServiceEvent ...;

	 Sample extends PXBaseDocument Esempio public class estende PXBaseDocument
	 {
		 onDocumentReady ( ) : void funzione onDocumentReady Override protected (): void
		 {
			 getInstance ( ) ) ; addLogListener (PXTraceLayout getInstance ().)

			 String = "Anonymous" ; var username: String = "Anonymous";
			 String = "" ; var pwd: String = "";

			 PXAMFMultiServices = new PXAMFMultiServices ( "http://www.../index.php" ) ; servizi VAR: PXAMFMultiServices PXAMFMultiServices = nuove ("http://www.../index.php");
			 "HelloWorld" , "getPrompt" ) ; Servizi AddService ("HelloWorld", "getPrompt").;

			 / / Ascoltare per servizio specifico risposta specifica e passare gli argomenti
			 PXService = services . addService ( "SessionService" , "getSession" ) ; var session = PXService AddService servizi ("SessionService", "getSession").
			 username , pwd ) ; sessione setArguments (username, pwd).;
			 ( PXServiceEvent . onDataResultEVENT , _onSession ) ; sessione addEventListener. (PXServiceEvent onDataResultEVENT, _onSession.)

			 / / Ascolta per la risposta globale
			 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; servizi addEventListener. (PXServiceEvent onDataResultEVENT, _onResult.)
			 ; servizi execute ().;
		 }

		 _onSession ( event : PXServiceEvent ) : void _onSession private function (event: PXServiceEvent): void
		 {
			 event . result , this ) ; PXDebug DEBUG. (Risultato Evento, questo.)
		 }

		 _onResult ( event : PXServiceEvent ) : void funzione privata _onResult (evento: PXServiceEvent): void
		 {
			 event . result , this ) ; PXDebug DEBUG. (Risultato Evento, questo.)
		 }
	 }
 } 

La classe permette PXAMFMultiServices attaccanti diversi servizi di AMF in una chiamata remota. Tramite il "AddService ()" metodo è possibile aggiungere nuove chiamate con per ciascuno dei parametri e persino cuffie, ogni servizio essendo PXService pieno.

PixService la libreria è disponibile nella pagina Download , fonti su SVN e la documentazione qui .

Codifica felice con Pixlib

Condividi

Chi PixTeam

Il Team Pixlib (team di formazione, consulenza e sviluppo)
Questa voce è stata pubblicata in estensione , quadro , Tutorial e contrassegnata con , , , , , , . Contrassegna il permalink .