サービスバスキューにメッセージを送信しようとしています。そのために私は私のProgram.csの中のコードの下の行上記のコードでServiceBus Queue - 本体ストリームが部分的に消費されたため、メッセージのシリアル化に失敗しました
try
{
var connectionString = "Endpoint=sb://Xx-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXx";
var queueName = "queue";
for (int i = 0; i < 10; i++)
{
//Send messages to the queue
var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
var message = new BrokeredMessage("This is a test message!");
client.Send(message);
Console.WriteLine("Message successfully sent! Press ENTER to exit program");
}
}catch(Exception ex)
{
Console.WriteLine(ex.ToString());
}
Console.ReadLine();
私が正常にメッセージを送った最初の繰り返しのために、私は上記のコードを実行バスqueue.Whileにサービスを提供するためにXMLデータを送信していますを書きますキューが、2回目の反復のために、そして私のデバッグポイントがClient.Send(メッセージを)当たったとき、私は次のエラーを取得しています:
Failed to serialize the message because its body stream has been partially consumed. at Microsoft.ServiceBus.Messaging.BrokeredMessage.SerializeBodyStream(BrokeredMessage message, XmlWriter writer) at Microsoft.ServiceBus.Messaging.BrokeredMessage.System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter writer) at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteIXmlSerializable(XmlWriterDelegator xmlWriter, Object obj, XmlSerializableWriter xmlSerializableWriter) at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteIXmlSerializable(XmlWriterDelegator xmlWriter, Object obj) at System.Runtime.Serialization.XmlDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context) at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle) at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle) at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle) at WritemessagesToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract) at System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
あなたはどのように、できるだけ早く上記のエラーを解決する方法を教えていただけますか?
ありがとう@Mikhail、最初の繰り返しのために、メッセージを正常にキューに送信しました。しかし、2回目以降は私の質問で上記のエラーが出てくる。 – pradeep
@pradeep 'GetBody'なしで更新されたコードを実行している間は問題はありません。 – Mikhail
これはGetBodyを削除して動作します。 – pradeep