WCFサービスがmsmqメッセージを処理する前に、WCFクライアントからWCFサービスを使用してメッセージを送信しました。
msmqメッセージ本文の内容を確認した結果、以下の結果が得られました。
しかし、正確な文字列を取得できませんでした。以下
は、私がメッセージ本文を取得するための方法の下に使用し、それを出力空WCFサービスの定義C#からWCF MSMQメッセージを読み取る
[ServiceContract]
public interface IMSMQService
{
[OperationContract(IsOneWay = true)]
void ShowMessage(string msg);
}
である私は、MSに時計を追加した場合、私は「\ 0 \ U0001を
を得ることができます\ 0 \ u0001 \ u0004 \ u0002(net.msmq://vdi-v-tazho/private/TestQueue \ u0003 \ a0002 \ u0004 \ v \ u0001a \ u0006V \ bD \ n \ u001e \ 0 + http://tempuri.org/IMSMQService/[email protected] \ u0017VsDebuggerCausalityData \ bAhttp://schemas.microsoft.com/vstudio/diagnostics/servicemodelsink < ϣ-lN FoJ 0 u\u0006 \ "\ 0 \ 0 \ 0 \ 0 \あなたは\\ 0 \\ 8 \\ 7 \ 8 \ Q \ 8 \ 0 \ 0D \ f \ u001e \0 (net.msmq://vdi-v-tazho/private/TestQueue \ u0001V \ u000e @ \ vShowMessage \ b \ u0013http://tempuri.org/@ \u0003msg \ u0004test \ U0001 \ U0001 \ U0001"
//message.Formatter = new XmlMessageFormatter(new String[] { });
//StreamReader sr = new StreamReader(message.BodyStream);
string ms = "";
//while (sr.Peek() >= 0)
//{
// ms += sr.ReadLine();
//}
message.Formatter = new ActiveXMessageFormatter();
string result = System.Text.Encoding.UTF8.GetString(message.Body as byte[]);
StreamReader reader = new StreamReader(message.BodyStream);
ms = reader.ReadToEnd();
MessageBox.Show(ms);