本文整理汇总了C#中QueueManager.PurgeOldData方法的典型用法代码示例。如果您正苦于以下问题:C# QueueManager.PurgeOldData方法的具体用法?C# QueueManager.PurgeOldData怎么用?C# QueueManager.PurgeOldData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QueueManager
的用法示例。
在下文中一共展示了QueueManager.PurgeOldData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CanPurgeLargeSetsOfOldData
public void CanPurgeLargeSetsOfOldData()
{
queueManager = ObjectMother.QueueManager();
queueManager.Configuration.OldestMessageInOutgoingHistory = TimeSpan.Zero;
queueManager.Start();
// Seed the queue with historical messages to be purged
QueueMessagesThreaded(1000);
//Parallel.For(0, 1000, new ParallelOptions { MaxDegreeOfParallelism = 8 }, i => SendMessages());
queueManager.WaitForAllMessagesToBeSent();
// Try to purge while still sending new messages.
var waitHandle = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem(_ =>
{
queueManager.PurgeOldData();
Console.WriteLine("Finished purging data");
waitHandle.Set();
});
QueueMessagesThreaded(10000);
//var purgeTask = Task.Factory.StartNew(() =>
//{
// queueManager.PurgeOldData();
// Console.WriteLine("Finished purging data");
//});
//Parallel.For(0, 10000, new ParallelOptions { MaxDegreeOfParallelism = 8 }, i => SendMessages());
waitHandle.WaitOne();
//purgeTask.Wait();
queueManager.WaitForAllMessagesToBeSent();
queueManager.PurgeOldData();
queueManager.Configuration.NumberOfMessagesToKeepInOutgoingHistory.ShouldEqual(
queueManager.GetAllSentMessages().Length);
}