diff --git a/CardReaderService/CardReaderService/ConfigureService.cs b/CardReaderService/CardReaderService/ConfigureService.cs index c06562b..ca79e0b 100644 --- a/CardReaderService/CardReaderService/ConfigureService.cs +++ b/CardReaderService/CardReaderService/ConfigureService.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using Topshelf; namespace CardReaderService { @@ -11,20 +10,28 @@ namespace CardReaderService { internal static void Configure() { - HostFactory.Run(configure => - { - configure.Service(service => - { - service.ConstructUsing(s => new Service1()); - service.WhenStarted(s => s.Start(null)); - service.WhenStopped(s => s.Stop()); - }); - //Setup Account that window service use to run. - configure.RunAsLocalSystem(); - configure.SetServiceName("MyWindowServiceWithTopshelf"); - configure.SetDisplayName("MyWindowServiceWithTopshelf"); - configure.SetDescription("My .Net windows service with Topshelf"); - }); + //try + //{ + // HostFactory.Run(configure => + // { + // configure.Service(service => + // { + // service.ConstructUsing(s => new Service1()); + // service.WhenStarted(s => s.Start()); + // service.WhenStopped(s => s.Stop()); + // }); + // //Setup Account that window service use to run. + // configure.RunAsLocalSystem(); + // configure.SetServiceName("MyWindowServiceWithTopshelf"); + // configure.SetDisplayName("MyWindowServiceWithTopshelf"); + // configure.SetDescription("My .Net windows service with Topshelf"); + // }); + //} + //catch (Exception ex) + //{ + + // throw; + //} } } } diff --git a/CardReaderService/CardReaderService/DataCenterHelper.cs b/CardReaderService/CardReaderService/DataCenterHelper.cs index bff96da..6180064 100644 --- a/CardReaderService/CardReaderService/DataCenterHelper.cs +++ b/CardReaderService/CardReaderService/DataCenterHelper.cs @@ -18,10 +18,20 @@ namespace CardReaderService using (var client = new HttpClient()) { - var jsonObject = JsonConvert.SerializeObject(url); + var jsonObject = JsonConvert.SerializeObject(postObject); var content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); - - var response = client.PostAsync(endpointConfig, content).Result; + try + { + Console.WriteLine("Writing"); + var fullUrl = endpointConfig + url; + var response = client.PostAsync(fullUrl, content).Result; + Console.WriteLine("Written"); + } + catch (Exception) + { + Console.WriteLine("exceptioning"); + //ignore + } } } diff --git a/CardReaderService/CardReaderService/Service1.cs b/CardReaderService/CardReaderService/Service1.cs index df05dfb..971ea0b 100644 --- a/CardReaderService/CardReaderService/Service1.cs +++ b/CardReaderService/CardReaderService/Service1.cs @@ -1,14 +1,10 @@ using PCSC; using System; using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; using System.Threading; -using System.Threading.Tasks; namespace CardReaderService { @@ -26,34 +22,30 @@ namespace CardReaderService InitializeComponent(); } - public void Start(string[] args) + public void Start() { - OnStart(args); + OnStart(new string[] {}); } - +// protected override void OnStart(string[] args) { - Debug.WriteLine("Starting.. Getting available readers"); + Console.WriteLine("Starting.. Getting available readers"); var ctxFactory = ContextFactory.Instance; using(var context = ctxFactory.Establish(SCardScope.System)) { var readerNames = context.GetReaders(); if (NoReaderAvailable(readerNames)) { - Debug.WriteLine("No Card Reader is available, Exiting.."); + Console.WriteLine("No Card Reader is available, Exiting.."); return; } - Debug.WriteLine("Choosing first available reader: " + readerNames.First()); + Console.WriteLine("Choosing first available reader: " + readerNames.First()); _readerName = readerNames.First(); _cardMonitor = new SCardMonitor(ctxFactory, SCardScope.System); _cardMonitor.CardInserted += _cardMonitor_CardInserted; _cardMonitor.Start(_readerName); StartWorkerThread(); - //_reader = new SCardReader(context); - //var err = _reader.Connect( _readerName, - // SCardShareMode.Shared, - // SCardProtocol.T0 | SCardProtocol.T1); } } @@ -65,14 +57,20 @@ namespace CardReaderService protected override void OnStop() { _stopMainWorkerThread = true; - _mainWorkThread.Join(3000); - if (_mainWorkThread.IsAlive) + if (_mainWorkThread!= null && _mainWorkThread.IsAlive) { - _mainWorkThread.Interrupt(); + _mainWorkThread.Join(3000); + if (_mainWorkThread.IsAlive) + { + _mainWorkThread.Interrupt(); + } + } + if (_cardMonitor != null) + { + _cardMonitor.Cancel(); + _cardMonitor.Dispose(); + _cardMonitor = null; } - _cardMonitor.Cancel(); - _cardMonitor.Dispose(); - _cardMonitor = null; } private void StartWorkerThread() @@ -116,7 +114,7 @@ namespace CardReaderService Console.WriteLine("Card Inserted, ATR: " + atrString + ", and UID is: " + uid); CardDataPost postObj = new CardDataPost {CardUId = uid}; - DataCenterHelper.Post(postObj, "/postSwipeData"); + DataCenterHelper.PostAsync(postObj, "/api/swipedata"); Console.WriteLine("Posted to Server"); } } diff --git a/CardReaderService/CardReaderServiceHost/Program.cs b/CardReaderService/CardReaderServiceHost/Program.cs index 9377775..fc8886a 100644 --- a/CardReaderService/CardReaderServiceHost/Program.cs +++ b/CardReaderService/CardReaderServiceHost/Program.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using CardReaderService; namespace CardReaderServiceHost @@ -12,7 +8,7 @@ namespace CardReaderServiceHost static void Main(string[] args) { Service1 service1 = new Service1(); - service1.Start(null); + service1.Start(); Console.WriteLine("Service Running..."); Console.ReadLine(); service1.Stop();