Utilizzare Message Queuing per scalare le applicazioni

4 pagine in totale: <<Indietro 1 2 [3] 4 Avanti >>

Creazione delle code

Una volta ultimata la fase di installazione è possibile cominciare da subito a creare le prime code dall'apposita interfaccia presente all'interno del Computer Mangement, come mostrato dallo screenshot seguente:

La schermata precedente può variare leggermente nel caso il vostro sistema fosse collegato ad un dominio gestito da Active Directory e in quel caso oltre alle voci presenti nello screenshot (Outgoing Queues, Private Queues e System Queues) troverete anche Public Queues.

Nella schermata di creazione della coda ci basta assegnare un nome alla coda e spuntare o no, la voce che rende la coda transazione; è molto importante decidere a priori se la coda deve essere transazionale oppure no, in quanto una volta creata non è possibile convertirla.

Enqueue

Per cominciare ad usare Message Queuing tramite il Framework .NET è necessario referenziare all'interno del nostro progetto l'assembly System.Messaging che contiene tutte le classi necessare per aggiungere e rimuovere oggetti dalla coda.

Come prima cosa, nella nostra classe che avrà il compito di inviare elementi alla coda, è necessario instanziare la classe MessageQueue e passare al suo costruttore l'indirizzo della coda, come mostrato nello snippet seguente:

 
MessageQueue queue = new MessageQueue(@"FormatName:DIRECT=OS:.\private$\SampleServiceQueue", QueueAccessMode.Send); 

Il secondo parametro del costruttore è opzionale e indica il tipo di operazione che si vuole effettuare con la coda (come valore di default viene impostato automaticamente SendAndReceive).
Una volta creata l'instanza della coda è necessario creare un formatter e inviare l'oggetto come mostrato di seguito:

BinaryMessageFormatter messageFormatter = new BinaryMessageFormatter(); 
 
Message msg = new Message 
  { 
      Body = "Messaggio in coda", 
      Formatter = messageFormatter 
  }; 
 
queue.Send(msg);

Ovviamente l'inserimento di elementi in coda non si ferma qui, ma si possono specificare numerosi parametri che vanno ad influenzare il trasporto dell'oggetto e la priorità di recupero dello stesso al momento in cui viene effettuato il dequeue andando ad impostare la proprietà Priority dell'oggetto Message.

4 pagine in totale: <<Indietro 1 2 [3] 4 Avanti >>

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.



Segnala su: Facebook MSDN Social Twitter Segnalo Wikio Diggita Technorati Stumbleupon Google Yahoo FriendFeed Delicious Furl

IL CONTENUTO
TUTORIALS
TOP TEN ARTICOLI
ARTICOLI VIA E-EMAIL

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

MEDIA
IN EVIDENZA
MISC