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

The MessageQueueTask type exposes the following members.

Public methodMessageQueueTaskInitializes a new instance of the MessageQueueTask class.

Public propertyCurrentExecutingPackageIDGets or sets the ID of the current executing package.
Public propertyDataFileOverWritableGets or sets a Boolean that indicates whether the data file message can overwrite an existing data file.
Public propertyDebugModeGets or sets a Boolean that indicates whether the object is in debug mode, and whether it should raise the OnBreakpointHit event while running.
Public propertyDTSMessageLineageIDGets or sets the message lineage identifier.
Public propertyDTSMessagePackageIDGets or sets the identifier of the package that is the source of the message.
Public propertyDTSMessageVersionIDGets or sets the version of the message.
Public propertyEncryptionAlgoGets or sets the name of the encryption algorithm used to encrypt the message body of a private message.
Public propertyErrorIfMessageTimeOutGets or sets a Boolean specifying whether the task fails when the message times out.
Public propertyExecutionValueReturns a user-defined object. This field is read-only. (Inherited from Task.)
Public propertyMessageDataFileGets or sets the data file name used when the MessageType is set to DTSMQMessageType_DataFile.
Public propertyMessageStringGets or sets the message to use when the MessageType is set to DTSMQMessageType_String.
Public propertyMessageTypeGets or sets a value that indicates the type of message being sent when the TaskType is DTSMQType_Sender.
Public propertyMessageVariablesGets or sets the variables list when the MQMessageType enumeration is set to DTSMQMessageType_Variables.
Public propertyMsmqConnectionGets or sets the name of the connection for the MSMQ task.
Public propertyOperationDescriptionGets or sets the description of the operation.
Public propertyReceiveMessageTimeOutGets or sets a value that specifies the number of seconds before a received message times out.
Public propertyReceiveMessageTypeGets or sets an MQMessageType value that indicates the message type to receive.
Public propertyReceiveVariableMessageGets or sets the name of the variable in which to store the message.
Public propertyRemoveFromQueueGets or sets a Boolean that specifies whether the message should be removed from the queue.
Public propertySaveDataFileNameGets or sets the name of the file to which an incoming Data File message is saved.
Public propertyStringCompareTypeA value that specifies the string comparison method for a String message type when the TaskType is DTSMQType_Receiver.
Public propertyStringCompareValueGets or sets the String to which a string message is compared to when the TaskType is DTSMQType_Receiver.
Public propertyStringMessageToVariableNameGets or sets the name of the variable to which the message contents are saved.
Public propertySuspendRequiredGets 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.
Public propertyTaskTypeGets or sets a value that indicates whether the message task is sending or receiving.
Public propertyUse2000FormatGets or sets a Boolean indicating that the message uses SQL Server 2000 format.
Public propertyUseEncryptionGets or sets a Boolean indicating whether the message uses encryption.
Public propertyVersion*** Member deprecated; see Remarks. ***   Returns the version of the task. This property is read-only. (Inherited from Task.)

Public methodAcceptBreakpointManagerPasses a BreakpointManager to a task. This method is called by the runtime and is not used in code.
Public methodCanUpdate*** Member deprecated; see Remarks. ***   A Boolean that indicates whether the new package XML can update the old package XML. (Inherited from Task.)
Public methodEqualsDetermines whether two object instances are equal. (Inherited from DtsObject.)
Public methodExecuteRuns the task. (Overrides Task.Execute(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging, Object).)
Protected methodFinalize (Inherited from Object.)
Public methodGetConnectionIDGets a String containing the ID of the connection. (Inherited from Task.)
Public methodGetConnectionNameGets a String containing the name of the connection. (Inherited from Task.)
Public methodGetHashCodeReturns the hash code for this instance. (Inherited from DtsObject.)
Public methodGetType (Inherited from Object.)
Public methodInitializeTaskInitializes 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).)
Public methodLoadFromXMLThis 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.
Protected methodMemberwiseClone (Inherited from Object.)
Public methodResumeExecutionResumes execution of the task after pausing. Execution of the task or container is resumed by the runtime engine.
Public methodSaveToXMLThis method is not callable by your application code. To save a package as .xml, use the Application.SaveToXml method.
Public methodSuspendExecutionIndicates that the executable needs to suspend. This method is called by the runtime engine.
Public methodToString (Inherited from Object.)
Public methodUpdate*** 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.)
Public methodValidateVerifies 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 Business Intelligence Development Studio is installed.

Important noteImportant

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.

Community Additions