MessageQueue Конструкторы

Определение

Инициализирует новый экземпляр класса MessageQueue.

Перегрузки

MessageQueue()

Инициализирует новый экземпляр класса MessageQueue. После того как конструктор без параметров инициализирует новый экземпляр, необходимо задать свойство Path экземпляра, прежде чем можно будет использовать этот экземпляр.

MessageQueue(String)

Инициализирует новый экземпляр класса MessageQueue, который ссылается на очередь MSMQ по указанному пути.

MessageQueue(String, Boolean)

Инициализирует новый экземпляр класса MessageQueue, который ссылается на очередь MSMQ по указанному пути и с указанным ограничением доступа на чтение.

MessageQueue(String, QueueAccessMode)

Инициализирует новый экземпляр класса MessageQueue.

MessageQueue(String, Boolean, Boolean)

Инициализирует новый экземпляр класса MessageQueue.

MessageQueue(String, Boolean, Boolean, QueueAccessMode)

Инициализирует новый экземпляр класса MessageQueue.

MessageQueue()

Инициализирует новый экземпляр класса MessageQueue. После того как конструктор без параметров инициализирует новый экземпляр, необходимо задать свойство Path экземпляра, прежде чем можно будет использовать этот экземпляр.

public:
 MessageQueue();
public MessageQueue ();
Public Sub New ()

Примеры

В следующем примере кода создается новый MessageQueueобъект .

// Connect to a queue on the local computer. You must set the queue's
// Path property before you can use the queue.
MessageQueue queue = new MessageQueue();
queue.Path = ".\\exampleQueue";

Комментарии

Используйте эту перегрузку для создания нового экземпляра MessageQueue класса , который не будет немедленно привязан к очереди на сервере очереди сообщений. Перед использованием этого экземпляра необходимо подключить его к существующей очереди очереди сообщений, задав Path свойство . Кроме того, можно задать ссылку MessageQueue на Create(String) возвращаемое значение метода, тем самым создав новую очередь очереди сообщений.

Конструктор MessageQueue создает экземпляр нового экземпляра MessageQueue класса ; он не создает новую очередь очереди сообщений.

В следующей таблице показаны начальные значения свойств для экземпляра MessageQueue.

Свойство Начальное значение
DefaultPropertiesToSend Значения, заданные конструктором DefaultPropertiesToSend класса без параметров.
Formatter XmlMessageFormatter
MessageReadPropertyFilter Значения, заданные конструктором MessagePropertyFilter класса без параметров. Для всех значений фильтра задано значение true.
DenySharedReceive false

См. также раздел

Применяется к

MessageQueue(String)

Инициализирует новый экземпляр класса MessageQueue, который ссылается на очередь MSMQ по указанному пути.

public:
 MessageQueue(System::String ^ path);
public MessageQueue (string path);
new System.Messaging.MessageQueue : string -> System.Messaging.MessageQueue
Public Sub New (path As String)

Параметры

path
String

Расположение очереди, на которую ссылается этот объект MessageQueue.

Исключения

Свойство Path имеет неверное значение. Возможно, оно просто не задано.

Примеры

В следующем примере кода создаются новые MessageQueue объекты с использованием различных типов синтаксиса имен пути. В каждом случае он отправляет сообщение в очередь, путь которой определен в конструкторе.

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

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

   // References public queues.
   void SendPublic()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
      myQueue->Send( "Public queue by path name." );
      return;
   }


   // References private queues.
   void SendPrivate()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\Private$\\myQueue" );
      myQueue->Send( "Private queue by path name." );
      return;
   }


   // References queues by label.
   void SendByLabel()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( "Label:TheLabel" );
      myQueue->Send( "Queue by label." );
      return;
   }


   // References queues by format name.
   void SendByFormatName()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( "FormatName:Public=5A5F7535-AE9A-41d4 -935C-845C2AFF7112" );
      myQueue->Send( "Queue by format name." );
      return;
   }


   // References computer journal queues.
   void MonitorComputerJournal()
   {
      MessageQueue^ computerJournal = gcnew MessageQueue( ".\\Journal$" );
      while ( true )
      {
         Message^ journalMessage = computerJournal->Receive();
         
         // Process the journal message.
      }
   }


   // References queue journal queues.
   void MonitorQueueJournal()
   {
      MessageQueue^ queueJournal = gcnew MessageQueue( ".\\myQueue\\Journal$" );
      while ( true )
      {
         Message^ journalMessage = queueJournal->Receive();
         
         // Process the journal message.
      }
   }


   // References dead-letter queues.
   void MonitorDeadLetter()
   {
      MessageQueue^ deadLetter = gcnew MessageQueue( ".\\DeadLetter$" );
      while ( true )
      {
         Message^ deadMessage = deadLetter->Receive();
         
         // Process the dead-letter message.
      }
   }


   // References transactional dead-letter queues.
   void MonitorTransactionalDeadLetter()
   {
      MessageQueue^ TxDeadLetter = gcnew MessageQueue( ".\\XactDeadLetter$" );
      while ( true )
      {
         Message^ txDeadLetter = TxDeadLetter->Receive();
         
         // Process the transactional dead-letter message.
      }
   }

};


//*************************************************
// Provides an entry point into the application.
//         
// This example demonstrates several ways to set
// a queue's path.
//*************************************************
int main()
{
   
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;
   myNewQueue->SendPublic();
   myNewQueue->SendPrivate();
   myNewQueue->SendByLabel();
   myNewQueue->SendByFormatName();
   myNewQueue->MonitorComputerJournal();
   myNewQueue->MonitorQueueJournal();
   myNewQueue->MonitorDeadLetter();
   myNewQueue->MonitorTransactionalDeadLetter();
   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 demonstrates several ways to set
        // a queue's path.
        //**************************************************

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

            myNewQueue.SendPublic();
            myNewQueue.SendPrivate();
            myNewQueue.SendByLabel();
            myNewQueue.SendByFormatName();
            myNewQueue.MonitorComputerJournal();
            myNewQueue.MonitorQueueJournal();
            myNewQueue.MonitorDeadLetter();
            myNewQueue.MonitorTransactionalDeadLetter();

            return;
        }
        
        // References public queues.
        public void SendPublic()
        {
            MessageQueue myQueue = new MessageQueue(".\\myQueue");
            myQueue.Send("Public queue by path name.");

            return;
        }

        // References private queues.
        public void SendPrivate()
        {
            MessageQueue myQueue = new
                MessageQueue(".\\Private$\\myQueue");
            myQueue.Send("Private queue by path name.");

            return;
        }

        // References queues by label.
        public void SendByLabel()
        {
            MessageQueue myQueue = new MessageQueue("Label:TheLabel");
            myQueue.Send("Queue by label.");

            return;
        }

        // References queues by format name.
        public void SendByFormatName()
        {
            MessageQueue myQueue = new
                MessageQueue("FormatName:Public=5A5F7535-AE9A-41d4" +
                "-935C-845C2AFF7112");
            myQueue.Send("Queue by format name.");

            return;
        }

        // References computer journal queues.
        public void MonitorComputerJournal()
        {
            MessageQueue computerJournal = new
                MessageQueue(".\\Journal$");
            while(true)
            {
                Message journalMessage = computerJournal.Receive();
                // Process the journal message.
            }
        }

        // References queue journal queues.
        public void MonitorQueueJournal()
        {
            MessageQueue queueJournal = new
                MessageQueue(".\\myQueue\\Journal$");
            while(true)
            {
                Message journalMessage = queueJournal.Receive();
                // Process the journal message.
            }
        }
        
        // References dead-letter queues.
        public void MonitorDeadLetter()
        {
            MessageQueue deadLetter = new
                MessageQueue(".\\DeadLetter$");
            while(true)
            {
                Message deadMessage = deadLetter.Receive();
                // Process the dead-letter message.
            }
        }

        // References transactional dead-letter queues.
        public void MonitorTransactionalDeadLetter()
        {
            MessageQueue TxDeadLetter = new
                MessageQueue(".\\XactDeadLetter$");
            while(true)
            {
                Message txDeadLetter = TxDeadLetter.Receive();
                // Process the transactional dead-letter message.
            }
        }
    }
}
Imports System.Messaging

Public Class MyNewQueue


        
        ' Provides an entry point into the application.
        '		 
        ' This example demonstrates several ways to set
        ' a queue's path.
        

        Public Shared Sub Main()

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

            myNewQueue.SendPublic()
            myNewQueue.SendPrivate()
            myNewQueue.SendByLabel()
            myNewQueue.SendByFormatName()
            myNewQueue.MonitorComputerJournal()
            myNewQueue.MonitorQueueJournal()
            myNewQueue.MonitorDeadLetter()
            myNewQueue.MonitorTransactionalDeadLetter()

            Return

        End Sub


        ' References public queues.
        Public Sub SendPublic()

            Dim myQueue As New MessageQueue(".\myQueue")
            myQueue.Send("Public queue by path name.")

            Return

        End Sub


        ' References private queues.
        Public Sub SendPrivate()

            Dim myQueue As New MessageQueue(".\Private$\myQueue")
            myQueue.Send("Private queue by path name.")

            Return

        End Sub


        ' References queues by label.
        Public Sub SendByLabel()

            Dim myQueue As New MessageQueue("Label:TheLabel")
            myQueue.Send("Queue by label.")

            Return

        End Sub


        ' References queues by format name.
        Public Sub SendByFormatName()

            Dim myQueue As New _
                MessageQueue("FormatName:Public=" + _
                    "5A5F7535-AE9A-41d4-935C-845C2AFF7112")
            myQueue.Send("Queue by format name.")

            Return

        End Sub


        ' References computer journal queues.
        Public Sub MonitorComputerJournal()

            Dim computerJournal As New MessageQueue(".\Journal$")

            While True

                Dim journalMessage As Message = _
                    computerJournal.Receive()

                ' Process the journal message.

            End While

            Return
        End Sub


        ' References queue journal queues.
        Public Sub MonitorQueueJournal()

            Dim queueJournal As New _
                            MessageQueue(".\myQueue\Journal$")

            While True

                Dim journalMessage As Message = _
                    queueJournal.Receive()

                ' Process the journal message.

            End While

            Return
        End Sub


        ' References dead-letter queues.
        Public Sub MonitorDeadLetter()
            Dim deadLetter As New MessageQueue(".\DeadLetter$")

            While True

                Dim deadMessage As Message = deadLetter.Receive()

                ' Process the dead-letter message.

            End While

            Return

        End Sub


        ' References transactional dead-letter queues.
        Public Sub MonitorTransactionalDeadLetter()

            Dim TxDeadLetter As New MessageQueue(".\XactDeadLetter$")

            While True

                Dim txDeadLetterMessage As Message = _
                    TxDeadLetter.Receive()

                ' Process the transactional dead-letter message.

            End While

            Return

        End Sub

End Class

Комментарии

Используйте эту перегрузку, если требуется привязать новый MessageQueue экземпляр к определенной очереди очереди сообщений, для которой известен путь, имя формата или метка. Если вы хотите предоставить монопольный доступ к первому приложению, которое ссылается на очередь, необходимо задать DenySharedReceive для свойства true значение или использовать конструктор, который передает параметр ограничения доступа для чтения.

Конструктор MessageQueue создает экземпляр нового экземпляра MessageQueue класса ; он не создает новую очередь очереди сообщений. Чтобы создать очередь в очереди сообщений, используйте .Create(String)

Синтаксис path параметра зависит от типа очереди, на который он ссылается, как показано в следующей таблице.

Тип очереди Синтаксис
Общедоступная очередь MachineName\QueueName
Частная очередь MachineName\Private$\QueueName
очередь Журнал MachineName\QueueName\Journal$
Очередь журнала компьютера MachineName\Journal$
Очередь недоставленных сообщений на компьютере MachineName\Deadletter$
Очередь недоставленных сообщений на компьютере MachineName\XactDeadletter$

Кроме того, можно использовать FormatName или Label для описания пути очереди, как показано в следующей таблице.

Справочник Синтаксис Пример
Имя формата FormatName: [ имя формата ] FormatName:Public= 5A5F7535-AE9A-41d4-935C-845C2AFF7112

FormatName:DIRECT=SPX:NetworkNumber; HostNumber\QueueName

FormatName:DIRECT=TCP: IPAddress\QueueName

FormatName:DIRECT=OS: MachineName\QueueName
Метка Label: [ label ] Label: TheLabel

Чтобы работать в автономном режиме, необходимо использовать синтаксис имени формата, а не синтаксис имени пути для конструктора. В противном случае возникает исключение, так как основной контроллер домена недоступен для разрешения пути к имени формата.

В следующей таблице показаны начальные значения свойств для экземпляра MessageQueue. Эти значения основаны на свойствах очереди сообщений с путем, указанным параметром path .

Свойство. Начальное значение
Authenticate false
BasePriority 0
Category Empty
DefaultPropertiesToSend Значения, заданные конструктором DefaultPropertiesToSend класса без параметров.
EncryptionRequired trueзначение , если для параметра Уровень конфиденциальности очереди сообщений — "Текст"; в противном случае — false.
Formatter XmlMessageFormatter
Label Empty
MachineName Значение свойства имени компьютера очереди сообщений.
MaximumJournalSize InfiniteQueueSize
MaximumQueueSize InfiniteQueueSize
MessageReadPropertyFilter Значения, заданные конструктором MessagePropertyFilter класса без параметров.
Path Emptyзначение , если не задано конструктором.
QueueName Emptyзначение , если не задано конструктором.
DenySharedReceive false
UseJournalQueue trueзначение , если параметр журнала объекта Message Queuing включен; в противном случае — false.

См. также раздел

Применяется к

MessageQueue(String, Boolean)

Инициализирует новый экземпляр класса MessageQueue, который ссылается на очередь MSMQ по указанному пути и с указанным ограничением доступа на чтение.

public:
 MessageQueue(System::String ^ path, bool sharedModeDenyReceive);
public MessageQueue (string path, bool sharedModeDenyReceive);
new System.Messaging.MessageQueue : string * bool -> System.Messaging.MessageQueue
Public Sub New (path As String, sharedModeDenyReceive As Boolean)

Параметры

path
String

Расположение очереди, на которую ссылается этот объект MessageQueue, для локального компьютера может иметь значение ".".

sharedModeDenyReceive
Boolean

Значение true, если необходимо предоставить монопольный доступ на чтение первому приложению, которое обратится к очереди; в противном случае — значение false.

Исключения

Свойство Path имеет неверное значение. Возможно, оно просто не задано.

Примеры

В следующем примере кода создается новый MessageQueue объект с монопольным доступом, устанавливается путь к нему и отправляется сообщение в очередь.

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

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

   // Requests exlusive read access to the queue. If
   // access is granted, receives a message from the 
   // queue.
   void GetExclusiveAccess()
   {
      try
      {
         
         // Request exclusive read access to the queue.
         MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue",true );
         
         // Receive a message. This is where SharingViolation 
         // exceptions would be thrown.
         Message^ myMessage = myQueue->Receive();
      }
      catch ( MessageQueueException^ e ) 
      {
         
         // Handle request for denial of exclusive read access.
         if ( e->MessageQueueErrorCode == MessageQueueErrorCode::SharingViolation )
         {
            Console::WriteLine( "Denied exclusive read access" );
         }

         
         // Handle other sources of a MessageQueueException.
      }

      
      // Handle other exceptions as necessary.
      return;
   }

};


// Provides an entry point into the application.
// This example connects to a message queue, and
// requests exclusive read access to the queue.
int main()
{
   
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;
   
   // Output the count of Lowest priority messages.
   myNewQueue->GetExclusiveAccess();
   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 connects to a message queue, and
        // requests exclusive read access to the queue.
        //**************************************************

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

            // Output the count of Lowest priority messages.
            GetExclusiveAccess();
                        
            return;
        }

        //**************************************************
        // Requests exlusive read access to the queue. If
        // access is granted, receives a message from the
        // queue.
        //**************************************************
        
        public static void GetExclusiveAccess()
        {
            try
            {
                // Request exclusive read access to the queue.
                MessageQueue myQueue = new
                    MessageQueue(".\\myQueue", true);

                // Receive a message. This is where SharingViolation
                // exceptions would be thrown.
                Message myMessage = myQueue.Receive();
            }
            
            catch (MessageQueueException e)
            {
                // Handle request for denial of exclusive read access.
                if (e.MessageQueueErrorCode ==
                    MessageQueueErrorCode.SharingViolation)
                {
                    Console.WriteLine("Denied exclusive read access");
                }

                // Handle other sources of a MessageQueueException.
            }

            // Handle other exceptions as necessary.

            return;
        }
    }
}
Imports System.Messaging

Public Class MyNewQueue


        ' Provides an entry point into the application.
        '		 
        ' This example connects to a message queue, and
        ' requests exclusive read access to the queue.
 

        Public Shared Sub Main()

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

            ' Output the count of Lowest priority messages.
            myNewQueue.GetExclusiveAccess()

            Return

        End Sub


  
        ' Requests exlusive read access to the queue. If
        ' access is granted, receives a message from the 
        ' queue.
  

        Public Sub GetExclusiveAccess()

            Try

                ' Request exclusive read access to the queue.
                Dim myQueue As New MessageQueue(".\myQueue", True)

                ' Receive a message. This is where a SharingViolation 
                ' exception would be thrown.
                Dim myMessage As Message = myQueue.Receive()

            Catch e As MessageQueueException

                ' Handle request for denial of exclusive read access.
                If e.MessageQueueErrorCode = _
                    MessageQueueErrorCode.SharingViolation Then

                    Console.WriteLine("Denied exclusive read access.")

                End If

                ' Handle other sources of a MessageQueueException.

                ' Handle other exceptions as necessary.

            End Try

            Return

        End Sub

End Class

Комментарии

Используйте эту перегрузку, если вы хотите связать новый MessageQueue объект с определенной очередью очереди сообщений, для которой вы знаете путь, имя формата или метку. Если вы хотите предоставить монопольный доступ к первому приложению, которое ссылается на очередь, задайте sharedModeDenyReceive для параметра значение true. В противном случае задайте значение sharedModeDenyReceivefalse или используйте конструктор, имеющий только path параметр .

Параметр sharedModeDenyReceive влияет true на все объекты, которые обращаются к очереди сообщений, включая другие приложения. Влияние параметра не ограничивается этим приложением.

Конструктор MessageQueue создает новый экземпляр MessageQueue класса ; он не создает новую очередь очереди сообщений. Чтобы создать очередь в очереди сообщений, используйте .Create(String)

Синтаксис path параметра зависит от типа очереди.

Тип очереди Синтаксис
Общедоступная очередь MachineName\QueueName
Частная очередь MachineName\Private$\QueueName
очередь Журнал MachineName\QueueName\Journal$
Очередь журнала компьютера MachineName\Journal$
Очередь недоставленных сообщений на компьютере MachineName\Deadletter$
Очередь недоставленных сообщений на компьютере MachineName\XactDeadletter$

Кроме того, для описания пути очереди можно использовать имя или метку формата очереди сообщений.

Справочник Синтаксис Пример
Имя формата FormatName: [ имя формата ] FormatName:Public= 5A5F7535-AE9A-41d4-935C-845C2AFF7112

FormatName:DIRECT=SPX:NetworkNumber; HostNumber\QueueName

FormatName:DIRECT=TCP: IPAddress\QueueName

FormatName:DIRECT=OS: MachineName\QueueName
Метка Label: [ label ] Label: Метка

Для работы в автономном режиме необходимо использовать синтаксис имени формата, а не понятный синтаксис имен. В противном случае возникает исключение, так как основной контроллер домена (на котором находится Active Directory) недоступен для разрешения пути к имени формата.

Если открывает очередь с параметром , равным true, любой MessageQueueMessageQueue из последующих попыток чтения из очереди создает MessageQueueException из-за нарушения общего доступа.sharedModeDenyReceive Также MessageQueueException возникает, если объект MessageQueue пытается получить доступ к очереди в монопольном режиме, а другой MessageQueue уже имеет неисключительную возможность доступа к очереди.

В следующей таблице показаны начальные значения свойств для экземпляра MessageQueue. Эти значения основаны на свойствах очереди сообщений с путем, указанным параметром path .

Свойство. Начальное значение
Authenticate false.
BasePriority 0.
Category Empty.
DefaultPropertiesToSend Значения, заданные конструктором DefaultPropertiesToSend класса без параметров.
EncryptionRequired true, если для параметра уровня конфиденциальности очереди сообщений задано значение "Body"; в противном случае — false.
Formatter XmlMessageFormatter.
Label Empty.
MachineName Значение свойства имени компьютера очереди сообщений.
MaximumJournalSize InfiniteQueueSize.
MaximumQueueSize InfiniteQueueSize.
MessageReadPropertyFilter Значения, заданные конструктором MessagePropertyFilter класса без параметров.
Path EmptyЗначение , если не задано конструктором.
QueueName EmptyЗначение , если не задано конструктором.
DenySharedReceive Значение параметра sharedModeDenyReceive.
UseJournalQueue true, если параметр журнала объекта Message Queuing включен; в противном случае — false.

См. также раздел

Применяется к

MessageQueue(String, QueueAccessMode)

Инициализирует новый экземпляр класса MessageQueue.

public:
 MessageQueue(System::String ^ path, System::Messaging::QueueAccessMode accessMode);
public MessageQueue (string path, System.Messaging.QueueAccessMode accessMode);
new System.Messaging.MessageQueue : string * System.Messaging.QueueAccessMode -> System.Messaging.MessageQueue
Public Sub New (path As String, accessMode As QueueAccessMode)

Параметры

path
String

Расположение очереди, на которую ссылается этот объект MessageQueue, для локального компьютера может иметь значение ".".

accessMode
QueueAccessMode

Одно из значений перечисления QueueAccessMode.

Применяется к

MessageQueue(String, Boolean, Boolean)

Инициализирует новый экземпляр класса MessageQueue.

public:
 MessageQueue(System::String ^ path, bool sharedModeDenyReceive, bool enableCache);
public MessageQueue (string path, bool sharedModeDenyReceive, bool enableCache);
new System.Messaging.MessageQueue : string * bool * bool -> System.Messaging.MessageQueue
Public Sub New (path As String, sharedModeDenyReceive As Boolean, enableCache As Boolean)

Параметры

path
String

Расположение очереди, на которую ссылается этот объект MessageQueue, для локального компьютера может иметь значение ".".

sharedModeDenyReceive
Boolean

Значение true, если необходимо предоставить монопольный доступ на чтение первому приложению, которое обратится к очереди; в противном случае — значение false.

enableCache
Boolean

Значение true, если необходимо создать и использовать кэш подключений; в противном случае — значение false.

Примеры

В следующем примере кода создается новый MessageQueue объект с монопольным доступом на чтение и включенным кэшированием подключений.

// Connect to a queue on the local computer, grant exclusive read
// access to the first application that accesses the queue, and
// enable connection caching.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue", true, true);

queue->Close();
// Connect to a queue on the local computer, grant exclusive read
// access to the first application that accesses the queue, and
// enable connection caching.
MessageQueue queue = new MessageQueue(".\\exampleQueue", true, true);

Применяется к

MessageQueue(String, Boolean, Boolean, QueueAccessMode)

Инициализирует новый экземпляр класса MessageQueue.

public:
 MessageQueue(System::String ^ path, bool sharedModeDenyReceive, bool enableCache, System::Messaging::QueueAccessMode accessMode);
public MessageQueue (string path, bool sharedModeDenyReceive, bool enableCache, System.Messaging.QueueAccessMode accessMode);
new System.Messaging.MessageQueue : string * bool * bool * System.Messaging.QueueAccessMode -> System.Messaging.MessageQueue
Public Sub New (path As String, sharedModeDenyReceive As Boolean, enableCache As Boolean, accessMode As QueueAccessMode)

Параметры

path
String

Расположение очереди, на которую ссылается этот объект MessageQueue, для локального компьютера может иметь значение ".".

sharedModeDenyReceive
Boolean

Значение true, если необходимо предоставить монопольный доступ на чтение первому приложению, которое обратится к очереди; в противном случае — значение false.

enableCache
Boolean

Значение true, если необходимо создать и использовать кэш подключений; в противном случае — значение false.

accessMode
QueueAccessMode

Одно из значений перечисления QueueAccessMode.

Применяется к