private int ScoreCallBack(IntPtr usrdata, string record_id, int type, byte[] message, int size) { string resultStr = String.Empty; try { if (type == SKEGN_MESSAGE_TYPE_JSON) { resultStr = Encoding.UTF8.GetString(message); if (!string.IsNullOrEmpty(resultStr)) { Log4NetHelper.Info("-----------------------------评分解析-----------------------------"); Log4NetHelper.Info(resultStr); Log4NetHelper.Info("-----------------------------评分结束-----------------------------"); //6.保存答案 UpdateAnswer(resultStr); } } return(1); } catch (Exception ex) { Log4NetHelper.ErrorFormat($"评分失败,ScoreCallBack 异常,Json:{resultStr}", ex); Log4NetHelper.Error("再评一次"); //todo if (_isAgain) { AutoScore(); _isAgain = false; } else { GlobalUser.DoneScore = ScoreType.ScoreFailure; //提交评分 失败了 } } finally { if (OnScoreFinished != null) { OnScoreFinished.Invoke(); } //DelEngine(); } return(0); }
private int ScoreCallBack(IntPtr usrdata, string record_id, int type, byte[] message, int size) { string resultStr = String.Empty; try { if (type == SKEGN_MESSAGE_TYPE_JSON) { resultStr = Encoding.UTF8.GetString(message); if (!string.IsNullOrEmpty(resultStr)) { Log4NetHelper.Info("-----------------------------评分解析-----------------------------"); Log4NetHelper.Info(resultStr); Log4NetHelper.Info("-----------------------------评分结束-----------------------------"); //6.保存答案 UpdateAnswer(resultStr); } } return(1); } catch (Exception ex) { ErrMsgLog msgInfo = new ErrMsgLog(); msgInfo.user = GlobalUser.USER.Mobile; msgInfo.msginfo = "评分Callback异常"; msgInfo.error = ex; msgInfo.scoreJson = resultStr; msgInfo.isErr = true; //var errStr = $"[user:{GlobalUser.USER?.Mobile},error:{ex},scoreJson: {resultStr}]"; Log4NetHelper.ErrorFormat(msgInfo.ToJson()); Log4NetHelper.Error("再评一次"); //todo if (_isAgain) { AutoScore(); _isAgain = false; } else { GlobalUser.DoneScore = ScoreType.ScoreFailure; //提交评分 失败了 if (!GlobalUser.ErrScoreInfo.ContainsKey(ExamScore.WaveFileName)) { ExamScore.SubmitNum++; GlobalUser.ErrScoreInfo.Add(ExamScore.WaveFileName, ExamScore); } Log_Data log = new Log_Data(); log.log_desc = Log_Type.PC_Score.ToString(); log.log_text = msgInfo.ToJson(); log.log_device = JsonHelper.ToJson(GlobalUser.MACHINEINFO.GetDevice()); WebApiProxy.GetHtmlRespInfo(log, ApiType.SysLog, null, "Post"); } } finally { if (OnScoreFinished != null) { OnScoreFinished.Invoke(); } //DelEngine(); } return(0); }