Assembly : System.Messaging (dans system.messaging.dll)
SyntaxePublic Sub Send ( _ obj As Object _ )
Dim instance As MessageQueue Dim obj As Object instance.Send(obj)
public void Send ( Object obj )
public: void Send ( Object^ obj )
public void Send ( Object obj )
public function Send ( obj : Object )
Paramètres
- obj
Objet à envoyer à la file d'attente.
Exceptions| Type d'exception | Condition |
|---|---|
| La propriété Path n'a pas été définie. - ou - Une erreur s'est produite lors de l'accès à une méthode Message Queuing. |
NotesUtilisez cette surcharge pour envoyer un message qui contient le paramètre obj à la file d'attente référencée par MessageQueue. L'objet que vous envoyez à la file d'attente peut être Message ou tout autre objet managé. Si vous envoyez un objet autre que Message, il est sérialisé et inséré dans le corps du message.
Si vous utilisez cette surcharge pour envoyer un message à une file transactionnelle, il est envoyé à la file d'attente de lettres mortes. Si vous souhaitez que le message fasse partie d'une transaction qui contient d'autres messages, utilisez une surcharge prenant MessageQueueTransaction ou MessageQueueTransactionType comme paramètre.
Si vous ne définissez pas la propriété Formatter avant d'appeler Send(Object), XmlMessageFormatter est affecté par défaut au formateur.
La propriété DefaultPropertiesToSend s'applique à tout objet autre que Message. Si vous spécifiez, par exemple, une étiquette ou une priorité à l'aide du membre DefaultPropertiesToSend, ces valeurs s'appliquent à tout message qui contient un objet d'un autre type que Message lorsque votre application l'envoie à la file d'attente. Lors de l'envoi d'un Message, les valeurs de la propriété de Message sont prioritaires sur la propriété DefaultPropertiesToSend et la propriété Message.Formatter du message est prioritaire sur la propriété MessageQueue.Formatter de la file d'attente.
Le tableau suivant montre si cette méthode est disponible dans différents modes groupe de travail.
| Mode groupe de travail | Disponible |
|---|---|
| Ordinateur local | Oui |
| Ordinateur local et nom de format direct | Oui |
| Ordinateur distant | Non |
| Ordinateur distant et nom de format direct | Oui |
Remarque |
|---|
| Cette méthode est thread-safe lorsque son argument objet est une instance Message. La méthode n'est pas thread-safe lorsque son argument objet est une instance autre que Message. |
ExempleL'exemple de code suivant se connecte à une file d'attente de messages et envoie un message à la file d'attente.
Imports System Imports System.Messaging Public Class MyNewQueue ' ' Provides an entry point into the application. ' ' This example sends a message to a queue. ' Public Shared Sub Main() ' Create a new instance of the class. Dim myNewQueue As New MyNewQueue ' Send a message to a queue. myNewQueue.SendMessage() Return End Sub 'Main ' ' Sends a message to a queue. ' Public Sub SendMessage() ' Connect to a queue on the local computer. Dim myQueue As New MessageQueue(".\myQueue") ' Send a message to the queue. If myQueue.Transactional = True Then ' Create a transaction. Dim myTransaction As New MessageQueueTransaction ' Begin the transaction. myTransaction.Begin() ' Send the message. myQueue.Send("My Message Data.", myTransaction) ' Commit the transaction. myTransaction.Commit() Else myQueue.Send("My Message Data.") End If Return End Sub 'SendMessage 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 a message to a queue. //************************************************** public static void Main() { // Create a new instance of the class. MyNewQueue myNewQueue = new MyNewQueue(); // Send a message to a queue. myNewQueue.SendMessage(); return; } //************************************************** // Sends a message to a queue. //************************************************** public void SendMessage() { // Connect to a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Send a message to the queue. if (myQueue.Transactional == true) { // Create a transaction. MessageQueueTransaction myTransaction = new MessageQueueTransaction(); // Begin the transaction. myTransaction.Begin(); // Send the message. myQueue.Send("My Message Data.", myTransaction); // Commit the transaction. myTransaction.Commit(); } else { myQueue.Send("My Message Data."); } return; } } }
#using <system.dll> #using <system.messaging.dll.> using namespace System; using namespace System::Messaging; ref class MyNewQueue { public: void SendMessage() { // Connect to a queue on the local computer. MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" ); // Send a message to the queue. if ( myQueue->Transactional == true ) { // Create a transaction. MessageQueueTransaction^ myTransaction = gcnew MessageQueueTransaction; // Begin the transaction. myTransaction->Begin(); // Send the message. myQueue->Send( "My Message Data.", myTransaction ); // Commit the transaction. myTransaction->Commit(); } else { myQueue->Send( "My Message Data." ); } return; } }; int main() { // Create a new instance of the class. MyNewQueue^ myNewQueue = gcnew MyNewQueue; // Send a message to a queue. myNewQueue->SendMessage(); 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 a message to a queue. //************************************************** public static void main(String[] args) { // Create a new instance of the class. MyNewQueue myNewQueue = new MyNewQueue(); // Send a message to a queue. myNewQueue.SendMessage(); return; } //main //************************************************** // Sends a message to a queue. //************************************************** public void SendMessage() { // Connect to a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Send a message to the queue. if (myQueue.get_Transactional() == true) { myQueue.Send("My Message Data.", new MessageQueueTransaction()); } else { myQueue.Send("My Message Data."); } return; } //SendMessage } //MyNewQueue
L'exemple de code suivant envoie une classe Order définie par l'application à une file d'attente, puis reçoit un message provenant de celle-ci.
Sécurité .NET Framework- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez .
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Remarque
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ