Salut tout le monde !

J'utilise une file d'attente MSMQ pour envoyer des mails de manière asynchrone depuis mon appli web. Jusque là tout va bien

Je sais aussi que la taille max est de 4Mo, j'ai donc entrepris de tenir compte de ça dans mon code.

Typiquement, lorsque j'ajoute un élément à ma file d'attente, je sérialise un objet :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
MessageQueueTransaction messageQueueTransaction = new MessageQueueTransaction();
messageQueueTransaction.Begin();
                using (MessageQueue queue = new MessageQueue(queuePath))
                {
                    msg = new System.Messaging.Message(callInfo.xml);
                    msg.Recoverable = true;
                    msg.Label = "leLabel";
                    msg.UseJournalQueue = true;
Dans un premier temps, je testais la taille de callInfo.xml.Length. Sauf qu'en allant voir dans ma file d'attente, je me suis rendu compte que la taille était supérieure. "Normal" me suis-je dis puisque le msg est complété par des entêtes et tout et tout.

J'ai trouvé une solution mais elle ne me satisfait pas vraiment. En fait j'ai remarqué que la taille dans la file = (callInfo.xml.Length)*X, X commençant vers 1,207... et diminuant plus la taille callinfo.xml.Length est importante.

Bref j'ai besoin de récupérer la taille que je vois dans ma fille d'attente (et donc la taille réelle).

j'espère que vous pourrez m'éclairer

Bonne journée