Мне нужно обновить пакет служебной шины nuget до 3.2.2 (думаю, это требует хост четного процессора), но я всегда сохранял наш проект bus bus в 2.8.2. Это связано, главным образом, с тем, что BeginReceive() и EndReceive(), похоже, были удалены. Есть ли какой-либо причине или в любом случае я могу легко преобразовать этотAzure Service Bus 3.2.2 BeginReceive()
public void StartReceiving(RecieverCallback callback, TimeSpan waittime, object state = null)
{
this._recieverCallback = callback;
_queueClient = this.MessagingFactory.CreateQueueClient(QueueName, ReceiveMode);
// make initial async call
_asyncresult = _queueClient.BeginReceive(waittime, ReceiveDone, _queueClient);
}
public void ReceiveDone(IAsyncResult result)
{
if (result != null)
{
try
{
var tmpClient = result.AsyncState as QueueClient;
var brokeredMessage = tmpClient.EndReceive(result);
if (brokeredMessage != null)
{
if (ReceiveMode == ReceiveMode.PeekLock)
{
brokeredMessage.Complete();
}
var tmpMessage = brokeredMessage.GetBody<T>();
ProcessMessageProperties(tmpMessage, brokeredMessage);
_recieverCallback(tmpMessage);
}
}
catch (Exception ex)
{
_logger.Fatal("ReceiveDone: {0}", ex.Message);
Console.WriteLine(ex.Message);
}
}
// do recieve for next message
_asyncresult = _queueClient.BeginReceive(ReceiveDone, _queueClient);
}
Следующее изображение показывает, что произойдет, если я обновить ServiceBus до 3.2.2, который я считаю, будет решить исходную ошибку (программа работает 3.2.2, Lib проект работает 2.8.x)