Acknowledgment 列挙体とは? わかりやすく解説

Acknowledgment 列挙体

試行されメッセージ配信結果指定します

名前空間: System.Messaging
アセンブリ: System.Messaging (system.messaging.dll 内)
構文構文

メンバメンバ
 メンバ説明
.NET Compact Framework によるサポートAccessDenied送信先キューメッセージ送信するために必要な権限送信アプリケーション持っていないことを示す否定到達受信確認。 
.NET Compact Framework によるサポートBadDestinationQueue送信アプリケーション送信先キュー使用できない状態にあることを示す否定到達受信確認。 
.NET Compact Framework によるサポートBadEncryption送信先キュー マネージャ非公開メッセージ復号化できないことを示す否定到達受信確認。 
.NET Compact Framework によるサポートBadSignature元のメッセージデジタル署名無効で、メッセージ キュー認証できないことを示す否定到達受信確認。 
.NET Compact Framework によるサポートCouldNotEncrypt送信キュー マネージャ非公開メッセージ暗号化できないことを示す否定到達受信確認。 
.NET Compact Framework によるサポートHopCountExceeded元のメッセージホップ数 (中間サーバーの数を示します) が超過したことを示す否定到達受信確認。 

最大ホップ数15 です。この値はメッセージ キュー設定し変更できません。

.NET Compact Framework によるサポートNoneメッセージ受信確認メッセージではありません。 
.NET Compact Framework によるサポートNotTransactionalMessageトランザクション キューに非トランザクション メッセージ送信されたことを示す否定到達受信確認。 
.NET Compact Framework によるサポートNotTransactionalQueueトランザクション キュートランザクション メッセージ送信されたことを示す否定到達受信確認。 
.NET Compact Framework によるサポートPurgedメッセージ送信先キュー到達する前に削除されたことを示す否定到達受信確認。 
.NET Compact Framework によるサポートQueueDeletedメッセージ読み取られる前にキュー削除されたことを示す否定読み取り受信確認。 
.NET Compact Framework によるサポートQueueExceedMaximumSize送信先キューフルのため、元のメッセージ配信されなかったことを示す否定到達受信確認。 
.NET Compact Framework によるサポートQueuePurgedメッセージ読み取られる前にキュー削除されたことを示す否定読み取り受信確認。 
.NET Compact Framework によるサポートReachQueue元のメッセージ送信先キュー到達したことを示す肯定到達受信確認。 
.NET Compact Framework によるサポートReachQueueTimeout元のメッセージ送信先キュー到達する前にキュー到達制限時間タイマまたは受信制限時間タイマタイムアウトになったことを示す否定到達受信確認。 
.NET Compact Framework によるサポートReceive元のメッセージ受信側アプリケーションにより受信されたことを示す肯定読み取り受信確認。 
.NET Compact Framework によるサポートReceiveTimeout受信制限時間タイマタイムアウトになる前にキューから元のメッセージ受信できなかったことを示す否定読み取り受信確認。 
解説解説

Acknowledgment クラスは、メッセージ キューによって管理キューポストされる受信確認メッセージタイプと、受信確認メッセージ送信原因となる条件定義します受信確認タイプ4 つグループ大別できます肯定到達受信確認肯定読み取り受信確認否定到達受信確認、および否定読み取り受信確認です。

メッセージ関連付ける管理キューは Message.AdministrationQueue プロパティ指定します

メッセージ キューは、受信確認メッセージ作成するときに Message.Acknowledgment プロパティAcknowledgment 列挙値の 1 つ設定しますMessage.Acknowledgment プロパティ値は、通常システム送信した受信確認メッセージインスタンスによって参照されているときだけ意味を持ちます受信確認メッセージ以外のメッセージMessage.Acknowledgment プロパティ読み取る例外スローさます。

メッセージ キューは、送信アプリケーション要求した場合除いて受信確認メッセージ送信しません。アプリケーションは Message.AcknowledgeType プロパティ適切な値を設定することによりこの要求行いますメッセージ キューは、元の MessageAdministrationQueue プロパティ指定され管理キューすべての受信確認メッセージ送信します

使用例使用例

オーダー含んでいるメッセージキュー送信し、またオーダー含んでいるメッセージキューから受信するコード例次に示します。これは特に、元のメッセージキュー到着するか、元のメッセージキューから取得されたときに、肯定受信確認要求します

Imports System
Imports System.Messaging


' Provides a container class for the example.

Public Class MyNewQueue
   
   

   ' Provides an entry point into the application.       
   ' This example sends and receives a message from
   ' a queue.
      
   Public Shared Sub Main()
         ' Create a new instance of the class.
         Dim myNewQueue As New
 MyNewQueue()
         
         ' Create new queues.
         CreateQueue(".\myQueue")
         CreateQueue(".\myAdministrationQueue")
         
         ' Send messages to a queue.
         myNewQueue.SendMessage()
         
         ' Receive messages from a queue.
         Dim messageId As String
 = myNewQueue.ReceiveMessage()
         
         ' Receive acknowledgment message.
         If Not (messageId Is
 Nothing) Then
            myNewQueue.ReceiveAcknowledgment(messageId, ".\myAdministrationQueue")
         End If
         
         Return
   End Sub 'Main
      
      
      ' Creates a new queue.

   Public Shared Sub CreateQueue(queuePath
 As String)
         Try
            If Not MessageQueue.Exists(queuePath)
 Then
               MessageQueue.Create(queuePath)
            Else
               Console.WriteLine((queuePath + " already exists."))
            End If
         Catch e As MessageQueueException
            Console.WriteLine(e.Message)
         End Try
   End Sub 'CreateQueue
       
      
      
 
      ' Sends a string message to a queue.
 
   Public Sub SendMessage()
         
         ' Connect to a queue on the local computer.
         Dim myQueue As New
 MessageQueue(".\myQueue")
         
         ' Create a new message.
         Dim myMessage As New
 Message("Original Message")
         
         myMessage.AdministrationQueue = New MessageQueue(".\myAdministrationQueue")
         myMessage.AcknowledgeType = AcknowledgeTypes.PositiveReceive Or
 AcknowledgeTypes.PositiveArrival
         
         ' Send the Order to the queue.
         myQueue.Send(myMessage)
         
         Return
   End Sub 'SendMessage
      
      
      
 
      ' Receives a message containing an Order.
 
   Public Function ReceiveMessage() As
 String
         ' Connect to the a queue on the local computer.
         Dim myQueue As New
 MessageQueue(".\myQueue")
         
         myQueue.MessageReadPropertyFilter.CorrelationId = True
         
         
         ' Set the formatter to indicate body contains an Order.
         myQueue.Formatter = New XmlMessageFormatter(New
 Type() {GetType(String)})
         
         Dim returnString As String
 = Nothing
         
         Try
            ' Receive and format the message. 
            Dim myMessage As Message = myQueue.Receive()
            
            
            ' Display message information.
            Console.WriteLine("____________________________________________")
            Console.WriteLine("Original message information--")
            Console.WriteLine(("Body: " + myMessage.Body.ToString()))
            Console.WriteLine(("Id: " + myMessage.Id.ToString()))
            Console.WriteLine("____________________________________________")
            
            returnString = myMessage.Id
         
         
                  
         ' Handle invalid serialization format.
         Catch e As InvalidOperationException
            Console.WriteLine(e.Message)
         End Try
         
         ' Catch other exceptions as necessary.
         Return returnString
   End Function 'ReceiveMessage
      
      
 
      ' Receives a message containing an Order.
 
   Public Sub ReceiveAcknowledgment(messageId
 As String, queuePath As
 String)
         Dim found As Boolean
 = False
         Dim queue As New
 MessageQueue(queuePath)
         queue.MessageReadPropertyFilter.CorrelationId = True
         queue.MessageReadPropertyFilter.Acknowledgment = True
         
         Try
            While Not (queue.PeekByCorrelationId(messageId)
 Is Nothing)
               Dim myAcknowledgmentMessage As
 Message = queue.ReceiveByCorrelationId(messageId)
               
               ' Output acknowledgment message information. The correlation
 Id is identical
               ' to the id of the original message.
               Console.WriteLine("Acknowledgment Message Information--")
               Console.WriteLine(("Correlation Id: "
 + myAcknowledgmentMessage.CorrelationId.ToString()))
               Console.WriteLine(("Id: " + myAcknowledgmentMessage.Id.ToString()))
               Console.WriteLine(("Acknowledgment Type: "
 + myAcknowledgmentMessage.Acknowledgment.ToString()))
               Console.WriteLine("____________________________________________")
               
               found = True
            End While
         Catch e As InvalidOperationException
            ' This exception would be thrown if there is no (further)
 acknowledgment message
            ' with the specified correlation Id. Only output a message
 if there are no messages;
            ' not if the loop has found at least one.
            If found = False Then
               Console.WriteLine(e.Message)
            End If
         End Try 
   End Sub 'ReceiveAcknowledgment
 ' Handle other causes of invalid operation exception.
 End Class 'MyNewQueue

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 sends and receives a message from
        // a queue.
        //**************************************************

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

            // Create new queues.
            CreateQueue(".\\myQueue");
            CreateQueue(".\\myAdministrationQueue");

            // Send messages to a queue.
            myNewQueue.SendMessage();

            // Receive messages from a queue.
            string messageId = myNewQueue.ReceiveMessage(); 

            // Receive acknowledgment message.
            if(messageId != null)
            {
                myNewQueue.ReceiveAcknowledgment(messageId, ".\\myAdministrationQueue");
            }

            return;
        }

        //**************************************************
        // Creates a new queue.
        //**************************************************

        public static void
 CreateQueue(string queuePath)
        {
            try    
            {
                if(!MessageQueue.Exists(queuePath))
                {
                    MessageQueue.Create(queuePath);
                }
                else
                {
                    Console.WriteLine(queuePath + " already exists.");
                }
            }
            catch (MessageQueueException e)
            {
                Console.WriteLine(e.Message);
            }
            
        }


        //**************************************************
        // Sends a string message to a queue.
        //**************************************************
        
        public void SendMessage()
        {

            // Connect to a queue on the local computer.
            MessageQueue myQueue = new MessageQueue(".\\myQueue");

            // Create a new message.
            Message myMessage = new Message("Original Message");
 

            myMessage.AdministrationQueue = new MessageQueue(".\\myAdministrationQueue");
            myMessage.AcknowledgeType = AcknowledgeTypes.PositiveReceive | AcknowledgeTypes.PositiveArrival;

            // Send the Order to the queue.
            myQueue.Send(myMessage);

            return;
        }


        //**************************************************
        // Receives a message containing an Order.
        //**************************************************
        
        public  string ReceiveMessage()
        {
            // Connect to the a queue on the local computer.
            MessageQueue myQueue = new MessageQueue(".\\myQueue");

            myQueue.MessageReadPropertyFilter.CorrelationId = true;


            // Set the formatter to indicate body contains an Order.
            myQueue.Formatter = new XmlMessageFormatter(new
 Type[]
                {typeof(string)});

            string returnString = null;
            
            try
            {
                // Receive and format the message. 
                Message myMessage =    myQueue.Receive(); 


                // Display message information.
                Console.WriteLine("____________________________________________");
                Console.WriteLine("Original message information--");
                Console.WriteLine("Body: " +myMessage.Body.ToString());
                Console.WriteLine("Id: " + myMessage.Id.ToString());
                Console.WriteLine("____________________________________________");

                returnString =  myMessage.Id;
                
            }
            
            catch (MessageQueueException)
            {
                // Handle Message Queuing exceptions.
            }

            // Handle invalid serialization format.
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message);
            }
            
            // Catch other exceptions as necessary.

            return returnString;
        }

        //**************************************************
        // Receives a message containing an Order.
        //**************************************************
        
        public void ReceiveAcknowledgment(string
 messageId, string queuePath)
        {
            bool found = false;
            MessageQueue queue = new MessageQueue(queuePath);
            queue.MessageReadPropertyFilter.CorrelationId = true;
            queue.MessageReadPropertyFilter.Acknowledgment = true;

            try
            {
                while(queue.PeekByCorrelationId(messageId) !=
 null)
                {
                    Message myAcknowledgmentMessage = queue.ReceiveByCorrelationId(messageId);
            
                    // Output acknowledgment message information. The
 correlation Id is identical
                    // to the id of the original message.
                    Console.WriteLine("Acknowledgment Message Information--");
                    Console.WriteLine("Correlation Id: " + myAcknowledgmentMessage.CorrelationId.ToString());
                    Console.WriteLine("Id: " + myAcknowledgmentMessage.Id.ToString());
                    Console.WriteLine("Acknowledgment Type: " + myAcknowledgmentMessage.Acknowledgment.ToString());
                    Console.WriteLine("____________________________________________");

                    found = true;
                }
            }
            catch (InvalidOperationException e)
            { 
                // This exception would be thrown if there is no (further)
 acknowledgment message
                // with the specified correlation Id. Only output a
 message if there are no messages;
                // not if the loop has found at least one.
                if(found == false)
                {    
                    Console.WriteLine(e.Message);
                }

                // Handle other causes of invalid operation exception.
            }

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

using namespace System;
using namespace System::Messaging;
ref class MyNewQueue
{
public:
   static void CreateQueue( String^ queuePath
 )
   {
      try
      {
         if (  !MessageQueue::Exists( queuePath ) )
         {
            MessageQueue::Create( queuePath );
         }
         else
         {
            Console::WriteLine(  "{0} already exists.", queuePath );
         }
      }
      catch ( MessageQueueException^ e ) 
      {
         Console::WriteLine( e->Message );
      }

   }

   void SendMessage()
   {
      // Connect to a queue on the local computer.
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );

      // Create a new message.
      Message^ myMessage = gcnew Message( "Original Message" );
      myMessage->AdministrationQueue = gcnew MessageQueue( ".\\myAdministrationQueue"
 );
      myMessage->AcknowledgeType = (AcknowledgeTypes)(AcknowledgeTypes::PositiveReceive
 | AcknowledgeTypes::PositiveArrival);

      // Send the Order to the queue.
      myQueue->Send( myMessage );
      return;
   }

   String^ ReceiveMessage()
   {
      // Connect to the a queue on the local computer.
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
      myQueue->MessageReadPropertyFilter->CorrelationId = true;
      array<Type^>^p = gcnew array<Type^>(1);
      p[ 0 ] = String::typeid;
      myQueue->Formatter = gcnew XmlMessageFormatter( p );
      String^ returnString = nullptr;
      try
      {
         // Receive and format the message. 
         Message^ myMessage = myQueue->Receive();

         // Display message information.
         Console::WriteLine( "____________________________________________"
 );
         Console::WriteLine( "Original message information--" );
         Console::WriteLine( "Body: {0}", myMessage->Body );
         Console::WriteLine( "Id: {0}", myMessage->Id );
         Console::WriteLine( "____________________________________________"
 );
         returnString = myMessage->Id;
      }
      catch ( MessageQueueException^ ) 
      {
         // Handle Message Queuing exceptions.
      }
      // Handle invalid serialization format.
      catch ( InvalidOperationException^ e ) 
      {
         Console::WriteLine( e->Message );
      }

      // Catch other exceptions as necessary.
      return returnString;
   }

   void ReceiveAcknowledgment( String^ messageId, String^ queuePath
 )
   {
      bool found = false;
      MessageQueue^ queue = gcnew MessageQueue( queuePath );
      queue->MessageReadPropertyFilter->CorrelationId = true;
      queue->MessageReadPropertyFilter->Acknowledgment = true;
      try
      {
         while ( queue->PeekByCorrelationId( messageId ) !=
 nullptr )
         {
            Message^ myAcknowledgmentMessage = queue->ReceiveByCorrelationId(
 messageId );

            // Output acknowledgment message information. The correlation
 Id is identical
            // to the id of the original message.
            Console::WriteLine( "Acknowledgment Message Information--"
 );
            Console::WriteLine( "Correlation Id: {0}", myAcknowledgmentMessage->CorrelationId
 );
            Console::WriteLine( "Id: {0}", myAcknowledgmentMessage->Id
 );
            Console::WriteLine( "Acknowledgment Type: {0}", myAcknowledgmentMessage->Acknowledgment
 );
            Console::WriteLine( "____________________________________________"
 );
            found = true;
         }
      }
      catch ( InvalidOperationException^ e ) 
      {
         // This exception would be thrown if there is no (further)
 acknowledgment message
         // with the specified correlation Id. Only output a message
 if there are no messages;
         // not if the loop has found at least one.
         if ( found == false )
         {
            Console::WriteLine( e->Message );
         }

         // Handle other causes of invalid operation exception.
      }

   }

};

int main()
{
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;

   // Create new queues.
   MyNewQueue::CreateQueue( ".\\myQueue" );
   MyNewQueue::CreateQueue( ".\\myAdministrationQueue" );

   // Send messages to a queue.
   myNewQueue->SendMessage();

   // Receive messages from a queue.
   String^ messageId = myNewQueue->ReceiveMessage();

   // Receive acknowledgment message.
   if ( messageId != nullptr )
   {
      myNewQueue->ReceiveAcknowledgment( messageId, ".\\myAdministrationQueue"
 );
   }

   return 0;
}
package MyProject;

import System.*;
import System.Messaging.*;

/// <summary>
/// Provides a container class for the example.
/// </summary>
public class MyNewQueue
{
    //**************************************************
    // Provides an entry point into the application.
    //         
    // This example sends and receives a message from
    // a queue.
    //**************************************************
    public static void main(String[]
 args)
    {
        // Create a new instance of the class.
        MyNewQueue myNewQueue = new MyNewQueue();

        // Create new queues.
        CreateQueue(".\\myQueue");
        CreateQueue(".\\myAdministrationQueue");

        // Send messages to a queue.
        myNewQueue.SendMessage();

        // Receive messages from a queue.
        String messageId = myNewQueue.ReceiveMessage();

        // Receive acknowledgment message.
        if (messageId != null) {
            myNewQueue.ReceiveAcknowledgment(messageId, 
                ".\\myAdministrationQueue");
        }
        return;
    } //main

    //**************************************************
    // Creates a new queue.
    //**************************************************
    public static void CreateQueue(String
 queuePath)
    {
        try {
            if (!(MessageQueue.Exists(queuePath))) {
                MessageQueue.Create(queuePath);
            }
            else {
                Console.WriteLine(queuePath + " already exists.");
            }
        }
        catch (MessageQueueException e) {
            Console.WriteLine(e.get_Message());
        }
    } //CreateQueue

    //**************************************************
    // Sends a string message to a queue.
    //**************************************************
    public void SendMessage()
    {
        // Connect to a queue on the local computer.
        MessageQueue myQueue = new MessageQueue(".\\myQueue");

        // Create a new message.
        Message myMessage = new Message("Original Message");
        myMessage.set_AdministrationQueue(
            new MessageQueue(".\\myAdministrationQueue"));
        myMessage.set_AcknowledgeType(AcknowledgeTypes.PositiveReceive 
            | AcknowledgeTypes.PositiveArrival);

        // Send the Order to the queue.
        myQueue.Send(myMessage);
        return;
    } //SendMessage

    //**************************************************
    // Receives a message containing an Order.
    //**************************************************
    public String ReceiveMessage()
    {
        // Connect to the a queue on the local computer.
        MessageQueue myQueue = new MessageQueue(".\\myQueue");

        myQueue.get_MessageReadPropertyFilter().set_CorrelationId(true);

        // Set the formatter to indicate body contains an Order.
        myQueue.set_Formatter(new XmlMessageFormatter(
            new Type[] { String.class.ToType()
 }));

        String returnString = null;
        try {
            // Receive and format the message. 
            Message myMessage = myQueue.Receive();

            // Display message information.
            Console.WriteLine("____________________________________________");
            Console.WriteLine("Original message information--");
            Console.WriteLine("Body: " + myMessage.get_Body().ToString());
            Console.WriteLine("Id: " + myMessage.get_Id().ToString());
            Console.WriteLine("____________________________________________");

            returnString = myMessage.get_Id();
        }
        catch (MessageQueueException exp) {
            // Handle Message Queuing exceptions.
        }
        // Handle invalid serialization format.
        catch (InvalidOperationException e) {
            Console.WriteLine(e.get_Message());
        }
        // Catch other exceptions as necessary.
        return returnString;
    } //ReceiveMessage

    //**************************************************
    // Receives a message containing an Order.
    //**************************************************
    public void ReceiveAcknowledgment(String
 messageId, String queuePath)
    {
        boolean found = false;
        MessageQueue queue = new MessageQueue(queuePath);
        queue.get_MessageReadPropertyFilter().set_CorrelationId(true);
        queue.get_MessageReadPropertyFilter().set_Acknowledgment(true);
        try {
            while (queue.PeekByCorrelationId(messageId) != null)
 {
                Message myAcknowledgmentMessage 
                    = queue.ReceiveByCorrelationId(messageId);

                // Output acknowledgment message information. 
                // The correlation Id is identical
                // to the id of the original message.
                Console.WriteLine("Acknowledgment Message Information--");
                Console.WriteLine("Correlation Id: " 
                    + myAcknowledgmentMessage.get_CorrelationId().ToString());
                Console.WriteLine("Id: " 
                    + myAcknowledgmentMessage.get_Id().ToString());
                Console.WriteLine("Acknowledgment Type: " 
                    + myAcknowledgmentMessage.get_Acknowledgment().ToString());
                Console.WriteLine("____________________________________________");

                found = true;
            }
        }
        catch (InvalidOperationException e) {
            // This exception would be thrown if there is no (further)
 
            // acknowledgment message with the specified correlation
 Id. 
            // Only output a message if there are no messages;
            // not if the loop has found at least one.
            if (found == false) {
                Console.WriteLine(e.get_Message());
            }
            // Handle other causes of invalid operation exception.
        }
    } //ReceiveAcknowledgment
} //MyNewQueue
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からAcknowledgment 列挙体を検索した結果を表示しています。
Weblioに収録されているすべての辞書からAcknowledgment 列挙体を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からAcknowledgment 列挙体を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Acknowledgment 列挙体」の関連用語

Acknowledgment 列挙体のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Acknowledgment 列挙体のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS