다음을 통해 공유


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 은 다음 표와 같이 참조하는 큐 유형에 따라 달라집니다.

큐 유형 Syntax
공개 큐 MachineName\QueueName
개인 큐 MachineName\Private$\QueueName

사용 하 여 "." 로컬 컴퓨터에 대 한 합니다. 자세한 구문은 속성을 참조 Path 하세요.

다음 표에서는 이 메서드를 다양한 작업 그룹 모드에서 사용할 수 있는지 여부를 보여 줍니다.

작업 그룹 모드 사용 가능
수집 Yes
로컬 컴퓨터 및 직접 형식 이름 Yes
원격 컴퓨터 No
원격 컴퓨터 및 직접 형식 이름 No

추가 정보

적용 대상

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

설명

이 오버로드를 사용하여 메시지 큐에 트랜잭션 큐를 만들 수 있습니다. 매개 변수를 로 설정하거나 의 다른 오버로드Create(String)transactionalfalse 호출하여 비 트랜잭션 큐를 만들 수 있습니다.

새 인스턴스를 만들려고 합니다 MessageQueue 기존 큐에 바인딩할를 사용 하 여 애플리케이션에서 클래스를 MessageQueue 생성자. 메시지 큐에서 새 큐를 만들려면 를 호출 Create(String)합니다.

매개 변수의 구문 path 은 다음 표와 같이 참조하는 큐 유형에 따라 달라집니다.

큐 유형 Syntax
공개 큐 MachineName\QueueName
개인 큐 MachineName\Private$\QueueName

사용 하 여 "." 로컬 컴퓨터에 대 한 합니다. 자세한 구문은 속성을 참조 Path 하세요.

다음 표에서는 이 메서드를 다양한 작업 그룹 모드에서 사용할 수 있는지 여부를 보여 줍니다.

작업 그룹 모드 사용 가능
수집 Yes
로컬 컴퓨터 및 직접 형식 이름 Yes
원격 컴퓨터 No
원격 컴퓨터 및 직접 형식 이름 No

추가 정보

적용 대상