我正在從web角色向worker角色發送消息。早些時候,這些消息被正確和立即接收,但現在沒有收到任何消息,即使所有消息的內容都是相同的。就像我現在發送一條消息,它沒有收到,但之後立即如果我發送另一條消息,然後收到最新消息。之前沒有收到的那個,幾秒鐘後突然收到,或者因爲生存時間已過,有時會收到死信。未收到Azure服務總線消息
我無法弄清楚問題是什麼,有什麼想法?或者這種行爲與服務總線正常?
這是怎麼了作業人員的角色接收消息
編輯:
public override void Run()
{
while (!IsStopped)
{
try
{
if (BroadcastReceived)
{
BroadcastReceived = false;
// Receive the message from Web Role to upload the broadcast to queue
BroadcastClient.BeginReceive(OnWebRoleMessageReceived, null);
}
if (SignalRMessageReceived)
{
SignalRMessageReceived = false;
// Receive the message from SignalR BroadcastHub
SignalRClient.BeginReceive(OnSignalRMessageReceived, null);
}
if (SignalRFirstTimeMessageReceived)
{
SignalRFirstTimeMessageReceived = false;
// Receive the message from SignalR BroadcastHub
SignalRFirstTimeClient.BeginReceive(OnSignalRFirstTimeMessageReceived, null);
}
}
}
public void OnWebRoleMessageReceived(IAsyncResult iar)
{
BrokeredMessage receivedBroadcastMessage = null;
receivedBroadcastMessage = BroadcastClient.EndReceive(iar);
if (receivedBroadcastMessage != null)
{
// Process the message
receivedBroadcastMessage.Complete();
}
BroadcastReceived = true;
}
UPDATE:
BroadcastClient = CloudStorageHelper.GetServiceBusQueueClient(Queuenames.ApiToWorkerRole);
public static QueueClient GetServiceBusQueueClient(string queuename)
{
string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString");
var namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString);
if (!namespaceManager.QueueExists(queuename))
{
namespaceManager.CreateQueue(queuename);
}
QueueClient Client = QueueClient.CreateFromConnectionString(connectionString, queuename);
return Client;
}
Web角色:
var queueClient = CloudStorageHelper.GetServiceBusQueueClient(Queuenames.ApiToWorkerRole);
//for testing purposes
record.Username = "owner";
record.Channel = "World";
record.Title = "Sample";
record.Duration = 10;
BrokeredMessage message = new BrokeredMessage(record);
queueClient.Send(message);
你可以分享你的電子郵件發送消息的代碼嗎?另外,BroadcastClient如何調用服務總線API? – 2013-02-21 19:45:51
已更新爲您要求的內容。讓我知道如果你發現任何錯誤 – Bitsian 2013-02-22 05:38:11