add ConfigMonitor instance to monitor the app.config for changes

#54
This commit is contained in:
Chris.Watts90@outlook.com 2017-03-01 16:52:19 +00:00
parent e9839fb19e
commit a424260409

View File

@ -19,6 +19,7 @@ namespace CardReaderService
private SCardMonitor _cardMonitor; private SCardMonitor _cardMonitor;
private ILogger _logger; private ILogger _logger;
private ConfigMonitor.ConfigMonitor _cfgMonitor;
public CardReaderService() public CardReaderService()
{ {
@ -32,9 +33,13 @@ namespace CardReaderService
protected override void OnStart(string[] args) protected override void OnStart(string[] args)
{ {
var configPath = string.Concat(System.Reflection.Assembly.GetEntryAssembly().Location, ".config");
_logger = NinjectHelper.GetInstance().Get<ILogger>(); _logger = NinjectHelper.GetInstance().Get<ILogger>();
_logger.Trace("Starting Service.. Getting available readers"); _logger.Trace("Starting Service.. Getting available readers");
_cfgMonitor = new ConfigMonitor.ConfigMonitor(configPath);
var ctxFactory = ContextFactory.Instance; var ctxFactory = ContextFactory.Instance;
using(var context = ctxFactory.Establish(SCardScope.System)) using(var context = ctxFactory.Establish(SCardScope.System))
{ {
@ -78,6 +83,8 @@ namespace CardReaderService
protected override void OnStop() protected override void OnStop()
{ {
_cfgMonitor.Stop();
_stopMainWorkerThread = true; _stopMainWorkerThread = true;
if (_mainWorkThread!= null && _mainWorkThread.IsAlive) if (_mainWorkThread!= null && _mainWorkThread.IsAlive)
{ {