public CompositeType GetDataUsingDataContract(CompositeType requestData, bool saveResultToQueue = false)
{
//Process the request data and get the result
CompositeType result = GetResult(requestData);
if (saveResultToQueue)
{
//Serialize the result to a string
XmlSerializer serializer = new XmlSerializer(typeof(CompositeType));
MemoryStream ms = new MemoryStream();
serializer.Serialize(ms, result);
string serilizedResult = string.Empty;
using (StreamReader sr = new StreamReader(ms))
{
serilizedResult = sr.ReadToEnd();
}
//Add a new message to the queue
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("StorageConnectionString");
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference("myqueue");
queue.CreateIfNotExists();
CloudQueueMessage message = new CloudQueueMessage(serilizedResult);
queue.AddMessage(message);
}
return result;
}
1 回答
我建议你在服务方法中添加一个额外的参数 . 您可以从SoapUI传递'true'以将结果保存到存储队列 . 以下代码供您参考 .