本文整理汇总了C#中QueueClient.OnMessageAsync方法的典型用法代码示例。如果您正苦于以下问题:C# QueueClient.OnMessageAsync方法的具体用法?C# QueueClient.OnMessageAsync怎么用?C# QueueClient.OnMessageAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QueueClient
的用法示例。
在下文中一共展示了QueueClient.OnMessageAsync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: btnStart_Click
private async void btnStart_Click(object sender, EventArgs e)
{
if (string.Compare(btnStart.Text, Start, StringComparison.OrdinalIgnoreCase) == 0)
{
receiverBrokeredMessageInspector = cboReceiverInspector.SelectedIndex > 0
? Activator.CreateInstance(serviceBusHelper.BrokeredMessageInspectors[cboReceiverInspector.Text]) as IBrokeredMessageInspector
: null;
cancellationTokenSource = new CancellationTokenSource();
btnStart.Text = Stop;
blockingCollection = new BlockingCollection<Tuple<long, long, long>>();
timer = new System.Timers.Timer
{
AutoReset = true,
Enabled = true,
Interval = 1000 * txtRefreshInformation.IntegerValue
};
if (startLog != null && checkBoxLogging.Checked)
{
startLog();
}
timer.Elapsed += timer_Elapsed;
autoComplete = checkBoxAutoComplete.Checked;
logging = checkBoxLogging.Checked;
verbose = checkBoxVerbose.Checked;
tracking = checkBoxTrackMessages.Checked;
try
{
receiveMode = cboReceivedMode.SelectedIndex == 1 ? ReceiveMode.PeekLock : ReceiveMode.ReceiveAndDelete;
if (entityDescription is QueueDescription)
{
var currentQueue = entityDescription as QueueDescription;
queueClient = serviceBusHelper.MessagingFactory.CreateQueueClient(currentQueue.Path, receiveMode);
queueClient.PrefetchCount = txtPrefetchCount.IntegerValue;
if (currentQueue.RequiresSession)
{
await queueClient.RegisterSessionHandlerFactoryAsync(
new CustomMessageSessionAsyncHandlerFactory(new CustomMessageSessionAsyncHandlerConfiguration
{
Logging = logging,
Tracking = tracking,
AutoComplete = autoComplete,
MessageEncoder = encoder,
ReceiveMode = receiveMode,
GetElapsedTime = GetElapsedTime,
UpdateStatistics = UpdateStatistics,
WriteToLog = writeToLog,
MessageInspector = receiverBrokeredMessageInspector,
ServiceBusHelper = serviceBusHelper,
TrackMessage = bm => Invoke(new Action<BrokeredMessage>(m => messageCollection.Add(m)), bm)
}), GetSessionHandlerOptions());
}
else
{
#pragma warning disable 4014
Task.Run(() => queueClient.OnMessageAsync(OnMessageAsync, GetOnMessageOptions()));
#pragma warning restore 4014
}
}
if (entityDescription is SubscriptionDescription)
{
var currentSubscription = entityDescription as SubscriptionDescription;
subscriptionClient = serviceBusHelper.MessagingFactory.CreateSubscriptionClient(currentSubscription.TopicPath,
currentSubscription.Name,
receiveMode);
subscriptionClient.PrefetchCount = txtPrefetchCount.IntegerValue;
if (currentSubscription.RequiresSession)
{
await subscriptionClient.RegisterSessionHandlerFactoryAsync(
new CustomMessageSessionAsyncHandlerFactory(new CustomMessageSessionAsyncHandlerConfiguration
{
Logging = logging,
Tracking = tracking,
AutoComplete = autoComplete,
MessageEncoder = encoder,
ReceiveMode = receiveMode,
GetElapsedTime = GetElapsedTime,
UpdateStatistics = UpdateStatistics,
WriteToLog = writeToLog,
ServiceBusHelper = serviceBusHelper,
TrackMessage = bm => Invoke(new Action<BrokeredMessage>(m => messageCollection.Add(m)), bm)
}), GetSessionHandlerOptions());
}
else
{
#pragma warning disable 4014
Task.Run(() => subscriptionClient.OnMessageAsync(OnMessageAsync, GetOnMessageOptions()));
#pragma warning restore 4014
}
}
#pragma warning disable 4014
Task.Run(new Action(RefreshGraph));
#pragma warning restore 4014
GetElapsedTime();
}
catch (Exception ex)
{
HandleException(ex);
//.........这里部分代码省略.........