Пример #1
0
        protected virtual void SubscribeToQueue()
        {
            Subscription           = SubscriptionClient.GetSubscription();
            Subscription.OnMessage = (queue, message) =>
            {
                Log.Debug("Message received: " + message);
                Nudged = (QueueSystemMessages.TaskAvailable.ToString() == message);
                if (Nudged)
                {
                    MonitorThread.Interrupt();
                }
            };

            SubscriberThread.Start();
        }
Пример #2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var settings         = SubscriberSettings.ReadSettings();
            var items            = Reader.Read <Subscription>(settings.InputPath);
            var resourceStore    = new ResourceStore <Subscription>(items);
            var subscriberThread = new SubscriberThread(resourceStore, settings);

            new Thread(new ThreadStart(subscriberThread.Procedure)).Start();

            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
            IConfigurationRoot configuration = builder.Build();

            services.Configure <SubscriberSettings>(configuration.GetSection("Settings"));

            services.AddControllers();
        }
Пример #3
0
 protected virtual void UnSubscribeFromQueue()
 {
     SubscriberThread.Interrupt();
 }