次の方法で共有


MessageQueue.Create メソッド

定義

メッセージ キュー サーバーの指定したパスに新しいキューを作成します。

オーバーロード

Create(String)

指定したパスに非トランザクション メッセージ キューのキューを作成します。

Create(String, Boolean)

指定したパスに、トランザクション メッセージ キューのキューまたは非トランザクション メッセージ キューのキューを作成します。

Create(String)

指定したパスに非トランザクション メッセージ キューのキューを作成します。

public:
 static System::Messaging::MessageQueue ^ Create(System::String ^ path);
public static System.Messaging.MessageQueue Create (string path);
static member Create : string -> System.Messaging.MessageQueue
Public Shared Function Create (path As String) As MessageQueue

パラメーター

path
String

作成するキューのパス。

戻り値

新しいキューを表す MessageQueue

例外

path パラメーターが null または空の文字列 ("") です。

指定したパスには既にキューが存在します。

- または -

メッセージ キューのメソッドにアクセスしたときにエラーが発生しました。

次のコード例では、パブリック キューとプライベート キューを作成します。 選択したキューにメッセージを送信します。

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;

// This example creates new public and private queues.
ref class MyNewQueue
{
public:
   void CreatePublicQueues()
   {
      
      // Create and connect to a public Message Queuing queue.
      if (  !MessageQueue::Exists( ".\\newPublicQueue" ) )
      {
         
         // Create the queue if it does not exist.
         MessageQueue^ myNewPublicQueue = MessageQueue::Create( ".\\newPublicQueue" );
         
         // Send a message to the queue.
         myNewPublicQueue->Send( "My message data." );
      }

      
      // Create (but do not connect to) a second public queue.
      if (  !MessageQueue::Exists( ".\\newPublicResponseQueue" ) )
      {
         MessageQueue::Create( ".\\newPublicResponseQueue" );
      }

      return;
   }


   // Creates private queues and sends a message.
   void CreatePrivateQueues()
   {
      
      // Create and connect to a private Message Queuing queue.
      if (  !MessageQueue::Exists( ".\\Private$\\newPrivQueue" ) )
      {
         
         // Create the queue if it does not exist.
         MessageQueue^ myNewPrivateQueue = MessageQueue::Create( ".\\Private$\\newPrivQueue" );
         
         // Send a message to the queue.
         myNewPrivateQueue->Send( "My message data." );
      }

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

      return;
   }

};


// Provides an entry point into the application.
int main()
{
   
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;
   
   // Create public and private queues.
   myNewQueue->CreatePublicQueues();
   myNewQueue->CreatePrivateQueues();
   return 0;
}
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 public and private
        // queues.
        //**************************************************

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

            // Create public and private queues.
            myNewQueue.CreatePublicQueues();
            myNewQueue.CreatePrivateQueues();

            return;
        }

        //**************************************************
        // Creates public queues and sends a message.
        //**************************************************
        
        public void CreatePublicQueues()
        {

            // Create and connect to a public Message Queuing queue.
            if (!MessageQueue.Exists(".\\newPublicQueue"))
            {
                // Create the queue if it does not exist.
                MessageQueue myNewPublicQueue =
                    MessageQueue.Create(".\\newPublicQueue");

                // Send a message to the queue.
                myNewPublicQueue.Send("My message data.");
            }

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

            return;
        }

        //**************************************************
        // Creates private queues and sends a message.
        //**************************************************
        
        public void CreatePrivateQueues()
        {

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

                // Send a message to the queue.
                myNewPrivateQueue.Send("My message data.");
            }

            // Create (but do not connect to) a second private queue.
            if (!MessageQueue.Exists(".\\Private$\\newResponseQueue"))
            {
                MessageQueue.Create(".\\Private$\\newResponseQueue");
            }
        
            return;
        }
    }
}
Imports System.Messaging

' Provides a container class for the example.

Public Class MyNewQueue


  
        ' Provides an entry point into the application.
        '		 
        ' This example creates new public and private 
        ' queues.
 

        Public Shared Sub Main()

            ' Create a new instance of the class.
            Dim myNewQueue As New MyNewQueue()

            ' Create public and private queues.
            myNewQueue.CreatePublicQueues()
            myNewQueue.CreatePrivateQueues()

            Return

        End Sub


 
        ' Creates public queues and sends a message.
 

        Public Sub CreatePublicQueues()

            ' Create and connect to a public Message Queuing queue.
            If Not MessageQueue.Exists(".\newPublicQueue") Then
                ' Create the queue if it does not exist.
                Dim myNewPublicQueue As MessageQueue = _
                    MessageQueue.Create(".\newPublicQueue")

                ' Send a message to the queue.
                myNewPublicQueue.Send("My message data.")
            End If

            ' Create (but do not connect to) a second public queue.
            If Not MessageQueue.Exists(".\newPublicResponseQueue") _
                Then

                MessageQueue.Create(".\newPublicResponseQueue")
            End If

            Return

        End Sub



        ' Creates private queues and sends a message.


        Public Sub CreatePrivateQueues()

            ' Create and connect to a private Message Queuing queue.
            If Not MessageQueue.Exists(".\Private$\newPrivateQueue") _
                Then

                ' Create the queue if it does not exist.
                Dim myNewPrivateQueue As MessageQueue = _
                    MessageQueue.Create(".\Private$\newPrivateQueue")

                ' Send a message to the queue.
                myNewPrivateQueue.Send("My message data.")
            End If

            ' Create (but do not connect to) a second private queue.
            If Not MessageQueue.Exists(".\Private$\newResponseQueue") _
                Then

                MessageQueue.Create(".\Private$\newResponseQueue")
            End If

            Return

        End Sub

End Class

注釈

非トランザクション メッセージ キュー キューを作成するには、このオーバーロードを使用します。

アプリケーションで クラスの新しいインスタンスを MessageQueue 作成し、それを既存のキューにバインドするには、 コンストラクターを MessageQueue 使用します。 メッセージ キューに新しいキューを作成するには、 を呼び出します Create(String)

パラメーターの path 構文は、次の表に示すように、参照するキューの種類によって異なります。

[キューの種類] 構文
パブリック キュー MachineName\QueueName
専用キュー MachineName\Private$\QueueName

ローカル コンピューターには "." を使用します。 その他の構文については、 プロパティを Path 参照してください。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接の形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式の名前 いいえ

こちらもご覧ください

適用対象

Create(String, Boolean)

指定したパスに、トランザクション メッセージ キューのキューまたは非トランザクション メッセージ キューのキューを作成します。

public:
 static System::Messaging::MessageQueue ^ Create(System::String ^ path, bool transactional);
public static System.Messaging.MessageQueue Create (string path, bool transactional);
static member Create : string * bool -> System.Messaging.MessageQueue
Public Shared Function Create (path As String, transactional As Boolean) As MessageQueue

パラメーター

path
String

作成するキューのパス。

transactional
Boolean

トランザクション キューを作成する場合は true。非トランザクション キューを作成する場合は false

戻り値

新しいキューを表す MessageQueue

例外

path パラメーターが null または空の文字列 ("") です。

指定したパスには既にキューが存在します。

- または -

メッセージ キューのメソッドにアクセスしたときにエラーが発生しました。

次のコード例では、パブリック トランザクション キューとプライベート トランザクション キューを作成します。 選択したキューにメッセージを送信します。

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;
ref class MyNewQueue
{
public:

   // Creates public transactional queues and sends a 
   // message.
   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 = gcnew MessageQueue( ".\\newPublicTransQueue1" );
      
      // Create a transaction.
      MessageQueueTransaction^ myTransaction = gcnew 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.
   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^ myNewPrivateQueue = MessageQueue::Create( ".\\Private$\\newPrivTransQ1", true );
      }

      
      // Connect to the queue.
      MessageQueue^ myNewPrivateQueue = gcnew MessageQueue( ".\\Private$\\newPrivTransQ1" );
      
      // Create a transaction.
      MessageQueueTransaction^ myTransaction = gcnew 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;
   }

};


// Provides an entry point into the application.
// This example creates new transactional queues.
int main()
{
   
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;
   
   // Create transactional queues.
   myNewQueue->CreatePublicTransactionalQueues();
   myNewQueue->CreatePrivateTransactionalQueues();
   return 0;
}
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;
        }
    }
}
Imports System.Messaging

Public Class MyNewQueue



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


        Public Shared Sub Main()
            ' Create a new instance of the class.
            Dim myNewQueue As New MyNewQueue

            ' Create transactional queues.
            myNewQueue.CreatePublicTransactionalQueues()
            myNewQueue.CreatePrivateTransactionalQueues()

            Return

        End Sub



        ' Creates public transactional queues and sends a 
        ' message.
 

        Public Sub CreatePublicTransactionalQueues()

            ' Create and connect to a public Message Queuing queue.
            If Not MessageQueue.Exists(".\newPublicTransQueue1") Then

                ' Create the queue if it does not exist.
                MessageQueue.Create(".\newPublicTransQueue1", True)

            End If

            ' Connect to the queue.
            Dim myNewPublicQueue As New MessageQueue(".\newPublicTransQueue1")

            ' Create a transaction.
            Dim myTransaction As New MessageQueueTransaction

            ' Begin the transaction.
            myTransaction.Begin()

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

            ' Commit the transaction.
            myTransaction.Commit()

            If Not MessageQueue.Exists(".\newPublicTransQueue2") Then

                ' Create (but do not connect to) a second queue.
                MessageQueue.Create(".\newPublicTransQueue2", True)
            End If

            Return

        End Sub



        ' Creates private queues and sends a message.


        Public Sub CreatePrivateTransactionalQueues()

            ' Create and connect to a private Message Queuing queue.
            If Not MessageQueue.Exists(".\Private$\newPrivTransQ1") _
                Then

                ' Create the queue if it does not exist.
                MessageQueue.Create(".\Private$\newPrivTransQ1", True)

            End If

            ' Connect to the queue.
            Dim myNewPrivateQueue As New MessageQueue(".\Private$\newPrivTransQ1")

            ' Create a transaction.
            Dim myTransaction As 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 Not MessageQueue.Exists(".\Private$\newPrivTransQ2") _
                Then

                MessageQueue.Create(".\Private$\newPrivTransQ2", True)
            End If

            Return

        End Sub

End Class

注釈

このオーバーロードを使用して、メッセージ キューにトランザクション キューを作成できます。 非トランザクション キューを作成するには、 パラメーターを transactionalfalse 設定するか、 の他の Create(String)オーバーロードを呼び出します。

アプリケーションで クラスの新しいインスタンスを MessageQueue 作成し、それを既存のキューにバインドするには、 コンストラクターを MessageQueue 使用します。 メッセージ キューに新しいキューを作成するには、 を呼び出します Create(String)

パラメーターの path 構文は、次の表に示すように、参照するキューの種類によって異なります。

[キューの種類] 構文
パブリック キュー MachineName\QueueName
専用キュー MachineName\Private$\QueueName

ローカル コンピューターには "." を使用します。 その他の構文については、 プロパティを Path 参照してください。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接の形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式の名前 いいえ

こちらもご覧ください

適用対象