コード例 #1
0
        public void TestLoop()
        {
            BookDetailLookup bookDetailLookup = NewBookDetailLookup();

            bookDetailLookup.CreateTopicAndSubscription();
            var cancel   = new CancellationTokenSource();
            var pullTask = bookDetailLookup.StartPullLoop(new FakeBookStore(), cancel.Token);

            cancel.CancelAfter(100);
            pullTask.Wait();
        }
コード例 #2
0
        /// <summary>Registers the type mappings with the Unity container.</summary>
        /// <param name="container">The unity container to configure.</param>
        public static void RegisterTypes(IUnityContainer container)
        {
            LibUnityConfig.RegisterTypes(container);
            var bookDetailLookup = new BookDetailLookup(LibUnityConfig.ProjectId);

            bookDetailLookup.CreateTopicAndSubscription();
            container.RegisterInstance <BookDetailLookup>(bookDetailLookup);

            container.RegisterInstance <ImageUploader>(
                new ImageUploader(
                    LibUnityConfig.GetConfigVariable("GoogleCloudSamples:BucketName")
                    )
                );
        }
コード例 #3
0
        public void TestPubsub()
        {
            BookDetailLookup bookDetailLookup = NewBookDetailLookup();

            bookDetailLookup.CreateTopicAndSubscription();
            bookDetailLookup.EnqueueBook(45);
            var cancel   = new CancellationTokenSource();
            var pullTask = Task.Factory.StartNew(() => bookDetailLookup.PullLoop((long bookId) =>
            {
                Assert.Equal(45, bookId);
                cancel.Cancel();
            }, cancel.Token));

            pullTask.Wait();
        }
コード例 #4
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            // Launch a thread that watches the book detail subscription.
            var container = App_Start.UnityConfig.GetConfiguredContainer();
            LibUnityConfig.RegisterTypes(container);
            var bookDetailLookup = new BookDetailLookup(LibUnityConfig.ProjectId,
                logger: LogTicker.Instance);
            bookDetailLookup.CreateTopicAndSubscription();
            var pullTask = bookDetailLookup.StartPullLoop(container.Resolve<IBookStore>(),
                new CancellationTokenSource().Token);
        }
コード例 #5
0
ファイル: Global.asax.cs プロジェクト: rarenache7/PCD
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            // Launch a thread that watches the book detail subscription.
            var container = App_Start.UnityConfig.GetConfiguredContainer();

            LibUnityConfig.RegisterTypes(container);
            var bookDetailLookup = new BookDetailLookup(LibUnityConfig.ProjectId,
                                                        logger: LogTicker.Instance);

            bookDetailLookup.CreateTopicAndSubscription();
            var pullTask = bookDetailLookup.StartPullLoop(container.Resolve <IBookStore>(),
                                                          new CancellationTokenSource().Token);
        }