0

メッセージをMSMQに送信し、自己ホスト型WCFサービスからそれを読み取る際に、MSDNの例をうまく使用できます。

新しいプロジェクトで単純な文字列を使用しようとしています。問題なく文字列をキューに送信できますが、ホストされている WCF サービスに問題があります。

Microsoft Service Trace Viewer を使用してホストのログを有効にして原因を突き止めたところ、有害なメッセージであると表示されました。

しかし、私のコントラクトは MsmqMessage を定義しています

これは私が送信するために使用しているものです:

System.Messaging.Message msg = new System.Messaging.Message(this.textBox1.Text);

そして、これは私の契約です(受信):

 [OperationContract(IsOneWay = true, Action = "*")] void
 ProcessIncomingMessage(MsmqMessage<string> incomingMessage);

MMC を参照したときのメッセージの内容:

<?xml version="1.0"?>
<string>test</string>

何か案は?

4

1 に答える 1

0

修正: 送信側でフォーマッタを定義: msg.Formatter = new XmlMessageFormatter(new string[] { "System.String" }); コントラクトで、既知のタイプの文字列で装飾します: [ServiceKnownType(typeof(String))]

于 2012-09-26T13:42:43.987 に答える