public static void Main(string[] args) { IGpioStateSubscriber client = new GpioStateSubscriber(hubUrl, logger); client.SubscribePin(18); client.SubscribePin(21); //client.SubscribePin(18); //client.SubscribePin(18); Task.Run(() => client.Connect()); Console.WriteLine("Listening for notifications from the hub..."); Console.WriteLine("Press <Enter> to quit"); Console.ReadLine(); client.DisconnectAsync().Wait(5000); Console.WriteLine("Exiting program"); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { ILoggerFactory loggerFactory = new LoggerFactory() .AddConsole() .AddDebug(); services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddSingleton <ILoggerFactory>(loggerFactory); services.AddSingleton <ILogger>(loggerFactory.CreateLogger(GetType().Namespace)); services.AddDbContext <ApplicationDbContext>(options => //options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")) options.UseSqlite(Configuration.GetConnectionString("DefaultConnection"))); services.AddDefaultIdentity <IdentityUser>() .AddEntityFrameworkStores <ApplicationDbContext>(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddSignalR(); //services.AddSingleton<IGpioStateSubscriber, GpioStateSubscriber>(); string baseUrl = $"{Configuration["GpioHub:Path"]}"; var gpioLogger = loggerFactory.CreateLogger <GpioStateSubscriber>(); IGpioStateSubscriber gpioSubscriber = new GpioStateSubscriber(); services.AddSingleton <IGpioStateSubscriber>(gpioSubscriber); }