本文整理汇总了C#中IHub.CreateSubscription方法的典型用法代码示例。如果您正苦于以下问题:C# IHub.CreateSubscription方法的具体用法?C# IHub.CreateSubscription怎么用?C# IHub.CreateSubscription使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IHub
的用法示例。
在下文中一共展示了IHub.CreateSubscription方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IntermediateReaderService
public IntermediateReaderService(AzureDirectory masterDirectory, IHub hub, Directory cacheDirectory, bool enableNearRealTimeCache = false)
{
_enableNearRealTimeCache = enableNearRealTimeCache;
var topicName = "lucene";
var subscriptionName = "i_" + Guid.NewGuid().ToString().Replace("-", string.Empty);
hub.CreateSubscription(topicName, subscriptionName)
.ContinueWith(t =>
{
_termprorarySubscription = t.Result;
Directory.Copy(masterDirectory, cacheDirectory, false);
_writer = new IndexWriter(cacheDirectory, new StandardAnalyzer(Version.LUCENE_30), Lucene.Net.Index.IndexWriter.MaxFieldLength.UNLIMITED);
var subscriptions = Enumerable.Range(0, 10).Select(_ => hub.SubscribeWithRoutingKey(topicName, subscriptionName, Message)).ToArray();
return Task.WhenAll(subscriptions)
.ContinueWith(_ => new DiposableArray(subscriptions.Select(s => s.Result)) as IDisposable);
})
.Unwrap()
.ContinueWith(t =>
{
_subscription = t.Result;
if (_enableNearRealTimeCache)
{
_timer = new Timer(CacheInSeconds*1000);
_timer.Elapsed += TimerOnElapsed;
_timer.Start();
}
})
.Wait();
}