MessageQueueTask Class


Contains the methods and properties used by the Message Queue task. This class cannot be inherited.

Namespace:   Microsoft.SqlServer.Dts.Tasks.MessageQueueTask
Assembly:  Microsoft.SqlServer.MSMQTask (in Microsoft.SqlServer.MSMQTask.dll)


public sealed class MessageQueueTask : Task, IDTSComponentPersist, 
	IMessageQueueTask, IDTSBreakpointSite, IDTSSuspend


Initializes a new instance of the MessageQueueTask class.


Gets or sets the ID of the current executing package.


Gets or sets a Boolean that indicates whether the data file message can overwrite an existing data file.


Gets or sets a Boolean that indicates whether the object is in debug mode, and whether it should raise the OnBreakpointHit event while running.


Gets or sets the message lineage identifier.


Gets or sets the identifier of the package that is the source of the message.


Gets or sets the version of the message.


Gets or sets the name of the encryption algorithm used to encrypt the message body of a private message.


Gets or sets a Boolean specifying whether the task fails when the message times out.


Returns a user-defined object. This field is read-only. (Inherited from Task.)


Gets or sets the data file name used when the MessageType is set to DTSMQMessageType_DataFile.


Gets or sets the message to use when the MessageType is set to DTSMQMessageType_String.


Gets or sets a value that indicates the type of message being sent when the TaskType is DTSMQType_Sender.


Gets or sets the variables list when the MQMessageType enumeration is set to DTSMQMessageType_Variables.


Gets or sets the name of the connection for the MSMQ task.


Gets or sets the description of the operation.


Gets or sets a value that specifies the number of seconds before a received message times out.


Gets or sets an MQMessageType value that indicates the message type to receive.


Gets or sets the name of the variable in which to store the message.


Gets or sets a Boolean that specifies whether the message should be removed from the queue.


Gets or sets the name of the file to which an incoming Data File message is saved.


A value that specifies the string comparison method for a String message type when the TaskType is DTSMQType_Receiver.


Gets or sets the String to which a string message is compared to when the TaskType is DTSMQType_Receiver.


Gets or sets the name of the variable to which the message contents are saved.


Gets or sets a Boolean that indicates if the task should suspend when it encounters a breakpoint. This value is set by the runtime engine for tasks and containers when a breakpoint is encountered.


(Inherited from Task.)


Gets or sets a value that indicates whether the message task is sending or receiving.


Gets or sets a Boolean indicating that the message uses SQL Server 2000 format.


Gets or sets a Boolean indicating whether the message uses encryption.


*** Member deprecated; see Remarks. ***   Returns the version of the task. This property is read-only.(Inherited from Task.)


Passes a BreakpointManager to a task. This method is called by the runtime and is not used in code.


*** Member deprecated; see Remarks. ***   A Boolean that indicates whether the new package XML can update the old package XML.(Inherited from Task.)


Determines whether two object instances are equal.(Inherited from DtsObject.)

System_CAPS_pubmethodExecute(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging, Object)
System_CAPS_pubmethodGetConnectionID(Connections, String)

Gets a String containing the ID of the connection.(Inherited from Task.)

System_CAPS_pubmethodGetConnectionName(Connections, String)

Gets a String containing the name of the connection.(Inherited from Task.)


Returns the hash code for this instance.(Inherited from DtsObject.)


(Inherited from Object.)

System_CAPS_pubmethodInitializeTask(Connections, VariableDispenser, IDTSInfoEvents, IDTSLogging, EventInfos, LogEntryInfos, ObjectReferenceTracker)

Initializes the properties associated with the task. This method is called by the runtime and is not used in code.(Overrides Task.InitializeTask(Connections, VariableDispenser, IDTSInfoEvents, IDTSLogging, EventInfos, LogEntryInfos, ObjectReferenceTracker).)

System_CAPS_pubmethodLoadFromXML(XmlElement, IDTSInfoEvents)

This method is not callable by your application code. To load a package saved in XML format (with the.xml file name extension), use the Application.LoadPackage method.


Resumes execution of the task after pausing. Execution of the task or container is resumed by the runtime engine.

System_CAPS_pubmethodSaveToXML(XmlDocument, IDTSInfoEvents)

This method is not callable by your application code. To save a package as .xml, use the Application.SaveToXml method.


Indicates that the executable needs to suspend. This method is called by the runtime engine.


(Inherited from Object.)


*** Member deprecated; see Remarks. ***   This method updates the old package XML with the new package XML if CanUpdate is set to true.(Inherited from Task.)

System_CAPS_pubmethodValidate(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging)

Verifies that the task is properly configured.(Overrides Task.Validate(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging).)

The Message Queue task class allows an object to send and receive messages to or from a queue of Message Queuing (also known as MSMQ). Participation in distributed transactions is allowed when running the Microsoft Distributed Transaction Coordinator (MSDTC). A single instance of a Message Queue task either sends one message to a specified queue or receives a single message from a specified queue, and also waits, if necessary, for the message to arrive. The following types of messages can be sent:

  • A string message, which is supplied as the value of a property.

  • A data file message, which is generated from the contents of a specified data file.

  • A variables message, which is generated from the names and values of one or more SQL Server Integration Services variables.

The enumeration MQMessageType determines which message format is used by a specific Message Queue task.

For more information, see Message Queue Task.

For the MessageQueueTask to work in either the API or in SSIS Designer, you must install SQL Server Integration Services. This feature will not work if only SQL Server Data Tools (SSDT) is installed.


When configuring the Message Queue task to send messages, you can use one of the encryption algorithms that are currently supported by the Message Queuing, RC2 and RC4, to encrypt the message. Both of these encryption algorithms are now considered cryptographically weak compared to newer algorithms, which Message Queuing does not yet support. Therefore, you should consider your cryptography needs carefully when sending messages using the Message Queue task.

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top