2010-02-02 5 views
9

J'ai un message WCF (Channels.Message) dont j'essaie d'extraire le corps en utilisant .GetBody(). cependant, je remarque que je peux le faire seulement une fois, et si j'essaye d'employer "GetBody <>" encore, j'obtiens: "Ce message ne peut pas soutenir l'opération parce qu'il a été lu."Lire le corps de message WCF deux fois - "Impossible de lire le message"

Une idée comment puis-je relire le corps du message?

grâce

Répondre

13

Voici un très bon article sur ce que vous essayez de faire sur MSDN. S'il vous plaît voir la section intitulée Copier un message dans un tampon. Il parle explicitement d'avoir à accéder au corps du message plus d'une fois.

http://msdn.microsoft.com/en-us/library/ms734675.aspx

+0

qui ne nous aide pas beaucoup .... j'ai appris que vous pouvez lire un corps de message qu'une seule fois, mais je ne trouve pas logique MSFT ici ... –

+5

Plus précisément, les états de l'article. "Parfois, il est nécessaire d'accéder au corps du message plus d'une fois, par exemple, pour transférer le même message vers plusieurs destinations dans le cadre d'un système d'abonnement-éditeur. Vous pouvez le faire en appelant CreateBufferedCopy. " Si vous regardez l'exemple de code dans cette section, il montre l'accès au corps d'un message plus d'une fois en utilisant CreateBufferedCopy –

Questions connexes