public IActionResult Get() { Response.StatusCode = 500; var m = WeChatMessageSystem.GetStatus(); if (!DatabaseSocketsClient.Connected) { return(Json("DataBase Error")); } else if (!MessagingSystem.GetStatus) { return(Json("Messaging System Nor Working")); } else if (!m.Item1) { return(Json("WeChat Message RCVD Thread Not Working")); } else if (!m.Item2) { return(Json("WeChat Message SEND Thread Not Working")); } else if (!WeChatMessageBackupService.GetStatus) { return(Json("WeChat Message Backup Service Not Working")); } else { Response.StatusCode = 200; return(Json(418, StatusMonitor.ReportObject, "Status:Alive")); } }
public static void Main(string[] args) { StartUpTime = DateTime.Now; L.InitLog(); L.I("WoodenBench WebServer Starting...."); L.I($"Startup Time {StartUpTime.ToString()}."); Version = new FileInfo(new string(Assembly.GetExecutingAssembly().CodeBase.Skip(8).ToArray())).LastWriteTime.ToString(); L.I($"Version: {Version}"); var v = XConfig.LoadAll(); if (!(v.Item1 && v.Item2)) { L.E("XConfig Load error... Quiting"); return; } L.I("Starting Job Watcher"); TimedJob.StartJobWatcher(); TimedJob.AddToJobList("Get Config", XConfig.ServerConfig.GetConfig, 10, 0); TimedJob.AddToJobList("Session Checker", BaseController.CheckSessions, 10, 0); TimedJob.AddToJobList("Status Monitor", StatusMonitor.SendStatus, 10); DataBaseOperation.InitialiseClient(); XConfig.ServerConfig.GetConfig(); WeChatHelper.PrepareCodes(); WeChatHelper.InitialiseEncryptor(); L.I("Initialising Core Messaging Systems....."); WeChatMessageSystem.StartProcessThreads(); WeChatMessageBackupService.StartBackupThread(); MessagingSystem.StartProcessThread(); var webHost = BuildWebHost(args, XConfig.Current.ApplicationInsightInstrumentationKey); L.I("Starting WebHost...."); WebServerTask = webHost.RunAsync(ServerStopToken.Token); WebServerTask.Wait(); L.E("WebServer Stoped! Cancellation Token = " + ServerStopToken.IsCancellationRequested); DatabaseSocketsClient.KillConnection(); }
public void POST(string msg_signature, string timestamp, string nonce) { MemoryStream ms = new MemoryStream(); Request.Body.CopyTo(ms); string XML_Message = ""; string _message = Encoding.UTF8.GetString(ms.ToArray()); int ret = WeChatHelper.WeChatEncryptor.DecryptMsg(msg_signature, timestamp, nonce, _message, ref XML_Message); if (ret != 0) { Response.StatusCode = 200; LW.E("WeChat Message Decrypt Failed!! " + _message); Response.WriteAsync(""); return; } WeChatMessageSystem.AddToRecvList(new WeChatRcvdMessage(XML_Message, DateTime.Now)); Response.StatusCode = 200; Response.WriteAsync(""); }
private IActionResult _InternalError(ServerAction action, string info, ResponceCode respCode) { Exception ex = HttpContext.Features.Get <ExceptionHandlerFeature>()?.Error; //string Page = GetAbsoluteUri(Request); info = info + "\r\n" + ex?.ToString(); if (Response.StatusCode == 404) { respCode = ResponceCode.NotFound; } Response.StatusCode = Response.StatusCode == 404 ? 404 : (int)respCode; ViewData["where"] = HomeController.ControllerName; ViewData["DetailedInfo"] = respCode.ToString(); ViewData["ErrorAT"] = action.ToString(); ViewData["RespCode"] = Response.StatusCode.ToString(); ViewData["ErrorMessage"] = info; //ViewData["RAWResp"] = Page; string content = string.Join("\r\n", "Error Report:", DateTime.Now.ToNormalString(), CurrentUser.GetFullIdentity(), Response.StatusCode, //ViewData["RAWResp"], ViewData["ErrorMessage"].ToString(), ViewData["ErrorAT"], ViewData["DetailedInfo"]); WeChatSentMessage _Message = new WeChatSentMessage(WeChatSMsg.text, null, content, null, "liuhaoyu"); L.E(content.Replace("\r\n", " -- ")); if (respCode != ResponceCode.Default) { WeChatMessageSystem.AddToSendList(_Message); } return(View("Error")); }
public static void Main(string[] args) { LW.SetLogLevel(LogLevel.Dbg); LW.InitLog(); StartUpTime = DateTime.Now; LW.D("WoodenBench WebServer Starting...."); LW.D($"\t Startup Time {StartUpTime.ToString()}."); Version = new FileInfo(new string(Assembly.GetExecutingAssembly().CodeBase.Skip(8).ToArray())).LastWriteTime.ToString(); LW.D($"\t Version {Version}"); var v = XConfig.LoadAll(); if (!(v.Item1 && v.Item2)) { return; } StatusMonitor.StartMonitorThread(); WeChatHelper.ReNewWCCodes(); DataBaseOperation.InitialiseClient(); //DataBaseOperation.InitialiseClient(IPAddress.Loopback); WeChatHelper.InitialiseExcryptor(); LW.D("Initialising Core Messaging Systems....."); WeChatMessageSystem.StartProcessThreads(); WeChatMessageBackupService.StartBackupThread(); MessagingSystem.StartProcessThread(); var webHost = BuildWebHost(XConfig.Current.ApplicationInsightInstrumentationKey, args); LW.D("Starting WebHost...."); WebServerTask = webHost.RunAsync(ServerStopToken.Token); WebServerTask.Wait(); LW.E("WebServer Stoped! Cancellation Token = " + ServerStopToken.IsCancellationRequested); }