50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
using System;
|
|
using System.Configuration;
|
|
using System.Web;
|
|
using System.Xml;
|
|
|
|
namespace Kreta.User.WebApi
|
|
{
|
|
public class WebApiApplication : HttpApplication
|
|
{
|
|
protected static KretaServer.KretaServer kretaServer;
|
|
|
|
protected void Application_Start()
|
|
{
|
|
ServerStarter();
|
|
}
|
|
|
|
protected void Application_End(object sender, EventArgs e)
|
|
{
|
|
if (kretaServer != null)
|
|
{
|
|
if (kretaServer.IsRunning)
|
|
{
|
|
kretaServer.Stop();
|
|
}
|
|
else
|
|
{
|
|
kretaServer = null;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void ServerStarter()
|
|
{
|
|
if (kretaServer == null || kretaServer.IsRunning == false)
|
|
{
|
|
var fullnode = (XmlNode)ConfigurationManager.GetSection("ServerConfig");
|
|
var doc = new XmlDocument();
|
|
doc.LoadXml(fullnode.SelectSingleNode("/ServerConfig/config").OuterXml);
|
|
|
|
if (kretaServer == null)
|
|
{
|
|
kretaServer = new KretaServer.KretaServer(doc.DocumentElement);
|
|
}
|
|
|
|
kretaServer.Start();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|