因此,我目前正在尝试让Azure总线服务工作,在其中创建队列,然后将消息放入队列中,然后再接收到其他位置,并且使用消息传递的数据运行某些代码。我已经完成了一切设置和工作,正如我可以发送消息并收到它,但有一些问题。 虽然研究我发现似乎是两种不同的方法来完成相同的任务。使用Azure Bus Service时,ServiceBus/ServiceBusTrigger方法与使用QueueClient方法的区别是什么?
首先:
创建一个消息:
public static void CreateMessage(string data, [ServiceBus("QueueName")] out string output)
{
output = data;
}
收到一条消息:
public static void ProcessMessage([ServiceBusTrigger("QueueName")] string data)
{
//Do something with data
}
注:我想用这个方法,并同时将邮件接收,收到数据时为空。任何帮助,将不胜感激。
其次:
创建一个消息:
var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
var message = new BrokeredMessage("This is a test message!");
client.Send(message);
收到以下消息:
var queueName = "QueueName";
var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
client.OnMessage(message =>
{
//do something with data
});
所以几个问题。
1.这两种方法有什么不同,哪一种应该在哪里应用?
2.虽然我使用第一种方法来尝试并简单地发送一个字符串,但是谁能告诉我为什么'数据'通过为空,即使收到了该消息。
当从服务总线(并发送)接收到一条消息时,是否有一个原因是您没有使用BrokeredMessage类? –