mirror of
https://github.com/PepperDash/PepperDashCore.git
synced 2026-04-12 03:57:08 +00:00
fix: moved instantiation of server to resolve null ref exception
This commit is contained in:
parent
66c1b09510
commit
ba930dafaf
1 changed files with 17 additions and 14 deletions
|
|
@ -46,7 +46,7 @@ namespace PepperDash.Core.Web
|
|||
/// </summary>
|
||||
public WebApiServer()
|
||||
: this(SplusKey, DefaultName, null)
|
||||
{
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -71,6 +71,8 @@ namespace PepperDash.Core.Web
|
|||
Name = string.IsNullOrEmpty(name) ? DefaultName : name;
|
||||
BasePath = string.IsNullOrEmpty(basePath) ? DefaultBasePath : basePath;
|
||||
|
||||
if (_server == null) _server = new HttpCwsServer(BasePath);
|
||||
|
||||
CrestronEnvironment.ProgramStatusEventHandler += CrestronEnvironment_ProgramStatusEventHandler;
|
||||
CrestronEnvironment.EthernetEventHandler += CrestronEnvironment_EthernetEventHandler;
|
||||
}
|
||||
|
|
@ -112,7 +114,7 @@ namespace PepperDash.Core.Web
|
|||
public void Initialize(string key, string basePath)
|
||||
{
|
||||
Key = key;
|
||||
BasePath = string.IsNullOrEmpty(basePath) ? DefaultBasePath : basePath;
|
||||
BasePath = string.IsNullOrEmpty(basePath) ? DefaultBasePath : basePath;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -127,7 +129,7 @@ namespace PepperDash.Core.Web
|
|||
}
|
||||
|
||||
_server.Routes.Add(route);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -154,18 +156,19 @@ namespace PepperDash.Core.Web
|
|||
{
|
||||
_serverLock.Enter();
|
||||
|
||||
if (_server != null)
|
||||
if (_server == null)
|
||||
{
|
||||
Debug.Console(DebugInfo, this, "Server is null, unable to start");
|
||||
return;
|
||||
}
|
||||
|
||||
if (IsRegistered)
|
||||
{
|
||||
Debug.Console(DebugInfo, this, "Server has already been started");
|
||||
return;
|
||||
}
|
||||
|
||||
Debug.Console(DebugInfo, this, "Starting server");
|
||||
|
||||
_server = new HttpCwsServer(BasePath)
|
||||
{
|
||||
HttpRequestHandler = new DefaultRequestRequestHandler()
|
||||
};
|
||||
Debug.Console(DebugInfo, this, "Starting server");
|
||||
|
||||
IsRegistered = _server.Register();
|
||||
}
|
||||
|
|
@ -193,13 +196,13 @@ namespace PepperDash.Core.Web
|
|||
|
||||
if (_server == null)
|
||||
{
|
||||
Debug.Console(DebugInfo, this, "Server has already been stopped");
|
||||
Debug.Console(DebugInfo, this, "Server is null or has already been stopped");
|
||||
return;
|
||||
}
|
||||
|
||||
IsRegistered = _server.Unregister() == false;
|
||||
_server.Dispose();
|
||||
_server = null;
|
||||
_server = null;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -212,7 +215,7 @@ namespace PepperDash.Core.Web
|
|||
{
|
||||
_serverLock.Leave();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Received request handler
|
||||
|
|
@ -255,6 +258,6 @@ UserHostName: {9}",
|
|||
if (ex.InnerException != null)
|
||||
Debug.Console(DebugVerbose, this, "ReceivedRequestEventHandler Exception InnerException: {0}", ex.InnerException);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue