public PowerpointLoadInfo deserializePowerpointLoadInfo(String json) { try { System.Web.Script.Serialization.JavaScriptSerializer Serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); Serializer.MaxJsonLength = int.MaxValue; PowerpointLoadInfo info = Serializer.Deserialize <PowerpointLoadInfo>(json); return(info); } catch (Exception e) { logger.Debug("Fail to deserialize PowerpointLoadInfo!", e); } return(null); }
public void Run(List <int> stringOids, bool isRunAllMode = false) { System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); serializer.MaxJsonLength = int.MaxValue; string socketHeader = "/run/" + (isRunAllMode ? "all/" : ""); Socket socket = buildSocket(SocketResourcePath + socketHeader); socket.OnMessage += (sender, e) => { PowerpointLoadInfo pptLoadInfo = deserializePowerpointLoadInfo(e.Data); if (pptLoadInfo != null && pptLoadInfo.action != null) { if (PowerpointHandler != null) { System.Windows.Application.Current.Dispatcher.Invoke(() => PowerpointHandler(pptLoadInfo)); } return; } LoopUserDialogTemplateData LoopTemplate = deserializeLoopTemplateData(e.Data); if (LoopTemplate != null) { System.Windows.Application.Current.Dispatcher.Invoke(() => { ProcessPopup dialog = new ProcessPopup(); dialog.Display(LoopTemplate); dialog.ShowDialog(); LoopTemplate = dialog.LoopUserTemplateData; string json = serializer.Serialize(LoopTemplate); socket.Send(json); }); return; } TransformationTreeRunInfo runInfo = deserializeRunInfo(e.Data); if (runInfo != null) { if (RunHandler != null) { System.Windows.Application.Current.Dispatcher.Invoke(() => RunHandler(runInfo)); } if (runInfo.runEnded) { socket.Close(CloseStatusCode.Normal); runSocket = null; } return; } }; socket.OnOpen += (sender, e) => { logger.Debug("Socket opened"); }; socket.OnError += (sender, e) => { logger.Debug("Socket error : " + e.Message); }; socket.OnClose += (sender, e) => { logger.Debug("Socket closed : " + e.Reason); runSocket = null; }; socket.Connect(); runSocket = socket; string text = serializer.Serialize(stringOids); socket.Send(text); }