public override string DoInBackGround(string receivedData) { var srv = Server.GlobalInstance; LogController.WriteLog(new ServerLog($"Basic Server Module: Begin Request")); LogController.WriteLog(new ServerLog($"Received Data: {receivedData}")); IBasicServerController controller = (IBasicServerController)Activator.CreateInstance(srv.BasicServerControllerType, null); try { Stopwatch s = new Stopwatch(); s.Start(); ActionResult result = controller.RunAction(receivedData); s.Stop(); string resultToJson = JsonConvert.SerializeObject(result); byte[] resultBytes = srv.ServerEncoding.GetBytes(resultToJson); PreProcess.ClientSocket.Send(resultBytes); LogController.WriteLog(new ServerLog($"Request completed in ~{s.ElapsedMilliseconds}ms")); } catch (Exception ex) { PreProcess.ClientSocket.Send(srv.ServerEncoding.GetBytes($"Error: {ex.Message}")); LogController.WriteLog(new ServerLog($"Basic Server Module Error: {ex.Message}", ServerLogType.ERROR)); } PreProcess.Dispose(); return(string.Empty); }
public BasicControllerRequestProcess(RequestPreProcessor preProcessor) { serviceManager = ServiceManager.GetInstance(); logger = serviceManager.GetService <ILoggingService>(); basicController = serviceManager.GetService <IBasicServerController>(); coreServer = serviceManager.GetService <ICoreServerService>("realserver"); encoder = serviceManager.GetService <IEncodingConverterService>(); this.preProcessor = preProcessor; }
public void EnableBasicServerController(IBasicServerController singleServerController) { BasicServerControllerType = singleServerController.GetType(); IsBasicServerControllerMode = true; }