public void Start()
{
// Prevent multiple simultaneous requests to start or stop the instance.
lock (_syncRoot)
{
if (_started)
{
return;
}
_started = true;
// Initialize a new instance of the data access layer.
var dataAccess = new DataAccess(this.Configuration.StoragePath);
var factory = new ServerFactory();
// Initialize and load a new instance of the proxy host.
_host = new StumpsHost(factory, dataAccess);
_host.Load();
// Initialize the Nancy web server module.
_webServer = new StumpsWebServer(_host, this.Configuration.WebApiPort);
// Start the host and the web server
_host.Start();
_webServer.Start();
}
}