private ServerRouteConfig GetOldServerRouteConfig() { string path = HttpContext.Server.MapPath(JPTaskConnector.Path); string content = System.IO.File.ReadAllText(path); ServerRouteConfig oldConfig = JsonConvert.DeserializeObject <ServerRouteConfig>(content); oldConfig.OnAfterDeserialize(); return(oldConfig); }
private ServerRouteConfig GetNewServerRouteConfig() { List <WebAPIAttribute> WebAPIList = new List <WebAPIAttribute>(); foreach (Type type in Assembly.GetExecutingAssembly().GetTypes()) { WebAPIList.AddRange(WebAPIAttribute.GetWebAPI(type)); } List <ControllerAction> newWebAPIList = new List <ControllerAction>(); foreach (WebAPIAttribute webAPI in WebAPIList) { newWebAPIList.Add(new ControllerAction(webAPI)); } ServerRouteConfig newConfig = new ServerRouteConfig { WebAPI = newWebAPIList.ToArray(), BaseAddress = PortConfig.Value.ServerIPAddressV4, }; return(newConfig); }
public ActionResult RebuildServerRouteConfig() { ServerRouteConfig oldConfig = GetOldServerRouteConfig(); ServerRouteConfig newConfig = GetNewServerRouteConfig(); foreach (ControllerAction newInfo in newConfig.WebAPI) { ControllerAction oldInfo = oldConfig[newInfo.Controller, newInfo.Action]; if (newInfo.Type == "HttpGet") { newInfo.FormKeys = new string[0]; newInfo.FormValues = new string[0]; } else if (newInfo.Type == "HttpPost") { newInfo.FormKeys = oldInfo?.FormKeys ?? new string[0]; newInfo.FormValues = oldInfo?.FormValues ?? new string[0]; } newInfo.ReturnType = oldInfo?.ReturnType ?? string.Empty; } return(Content(JsonConvert.SerializeObject(newConfig))); }