Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo MessageQueue.Create (String, Boolean)

 

Data di pubblicazione: novembre 2016

Crea una coda transazionale o non transazionale Accodamento messaggi nel percorso specificato.

Spazio dei nomi:   System.Messaging
Assembly:  System.Messaging (in System.Messaging.dll)

public static MessageQueue Create(
	string path,
	bool transactional
)

Parametri

path
Type: System.String

Il percorso della coda da creare.

transactional
Type: System.Boolean

true Per creare una coda transazionale; false per creare una coda non transazionale.

Valore restituito

Type: System.Messaging.MessageQueue

Oggetto MessageQueue che rappresenta la nuova coda.

Exception Condition
ArgumentException

Il path parametro null o è una stringa vuota ("").

MessageQueueException

Esiste già una coda nel percorso specificato.

-oppure-

Si è verificato un errore quando si accede a un metodo di Accodamento messaggi.

È possibile utilizzare questo overload per creare una coda transazionale in Accodamento messaggi. È possibile creare una coda non transazionale, impostando il transactional parametro false o chiamando l'altro overload di Create(String).

Per creare una nuova istanza di MessageQueue nell'applicazione e associarla a una coda esistente, utilizzare il MessageQueuecostruttore. Per creare una nuova coda in Accodamento messaggi, chiamare Create(String).

La sintassi per la path parametro dipende il tipo di coda a cui fa riferimento, come illustrato nella tabella seguente.

Tipo di coda

Sintassi

Coda pubblica

MachineName\QueueName

Coda privata

MachineName\Private$\QueueName

Utilizzare "." per il computer locale. Per ulteriori informazioni sulla sintassi, vedere la Path proprietà.

Nella tabella seguente indica se questo metodo è disponibile in diverse modalità gruppo di lavoro.

Modalità gruppo di lavoro

Disponibile

Computer locale

Computer locale e il nome di formato direct

Computer remoto

No

Computer remoto e il nome di formato direct

No

Esempio di codice seguente consente di creare code transazionali pubbliche e private. Invia un messaggio alle code selezionate.

using System;
using System.Messaging;

namespace MyProject
{
    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //		 
        // This example creates new transactional queues.
        //**************************************************

        public static void Main()
        {
            // Create a new instance of the class.
            MyNewQueue myNewQueue = new MyNewQueue();

            // Create transactional queues.
            myNewQueue.CreatePublicTransactionalQueues();
            myNewQueue.CreatePrivateTransactionalQueues();

            return;
        }


        //**************************************************
        // Creates public transactional queues and sends a 
        // message.
        //**************************************************

        public void CreatePublicTransactionalQueues()
        {

            // Create and connect to a public Message Queuing queue.
            if (!MessageQueue.Exists(".\\newPublicTransQueue1"))
            {
                // Create the queue if it does not exist.
                MessageQueue.Create(".\\newPublicTransQueue1", true);
            }

            // Connect to the queue.
            MessageQueue myNewPublicQueue =
                new MessageQueue(".\\newPublicTransQueue1");

            // Send a message to the queue.
            // Create a transaction.
            MessageQueueTransaction myTransaction = new 
                MessageQueueTransaction();

            // Begin the transaction.
            myTransaction.Begin();

            // Send the message.
            myNewPublicQueue.Send("My Message Data.", myTransaction);

            // Commit the transaction.
            myTransaction.Commit();

            if (!MessageQueue.Exists(".\\newPublicTransQueue2"))
            {
                // Create (but do not connect to) second public queue.
                MessageQueue.Create(".\\newPublicTransQueue2", true);
            }

            return;

        }


        //**************************************************
        // Creates private queues and sends a message.
        //**************************************************

        public void CreatePrivateTransactionalQueues()
        {

            // Create and connect to a private Message Queuing queue.
            if (!MessageQueue.Exists(".\\Private$\\newPrivTransQ1"))
            {
                // Create the queue if it does not exist.
                MessageQueue.Create(".\\Private$\\newPrivTransQ1", true);
            }

            // Connect to the queue.
            MessageQueue myNewPrivateQueue =
                new MessageQueue(".\\Private$\\newPrivTransQ1");

            // Send a message to the queue.
            // Create a transaction.
            MessageQueueTransaction myTransaction = new 
                MessageQueueTransaction();

            // Begin the transaction.
            myTransaction.Begin();

            // Send the message.
            myNewPrivateQueue.Send("My Message Data.", myTransaction);

            // Commit the transaction.
            myTransaction.Commit();

            // Create (but do not connect to) a second private queue.
            if (!MessageQueue.Exists(".\\Private$\\newPrivTransQ2"))
            {
                MessageQueue.Create(".\\Private$\\newPrivTransQ2", 
                    true);
            }

            return;
        }
    }
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: