Пример #1
0
        private static ScriptExecuteDetailResult addRe(int currentScript_id, JObject job)
        {
            ScriptExecuteDetailResult model = new ScriptExecuteDetailResult();

            model.ser_id     = currentScript_id;
            model.ScriptName = job["ScriptName"].ToString();
            model.IsSucceed  = job["IsSucceed"].ToString();//ON表示其他
            model.EndDate    = job["EndDate"].ToString();
            model.Terminal   = job["terminal"].ToString();
            string s          = job["taskNum"].ToString();
            int    startIndex = s.IndexOf("-");
            int    start      = startIndex + 1;
            string a          = s.Substring(start);
            int    taskNum    = Convert.ToInt32(a);

            model.TaskNum           = taskNum;
            model.StartDate         = job["StartDate"].ToString();
            model.DeviceName        = job["DeviceName"].ToString();
            model.ExecuteTrimLenght = Convert.ToInt16(job["ExecuteTrimLenght"]);
            model.LogFilePath       = job["LogFilePath"].ToString();
            model.Remark            = job["remark"].ToString();
            return(model);
        }
Пример #2
0
        private static void Result(IAsyncResult ar)
        {
            listener.BeginGetContext(Result, null);
            Console.WriteLine($"接到新的请求");
            var context  = listener.EndGetContext(ar);
            var request  = context.Request;
            var response = context.Response;

            context.Response.ContentType = "text/plain;charset=UTF-8";//告诉客户端返回的ContentType类型为纯文本格式,编码为UTF-8
            //context.Response.AddHeader("Content-type", "text/plain");//添加响应头信息
            context.Response.ContentEncoding = Encoding.UTF8;
            string returnObj = null;//定义返回客户端的信息

            if (request.HttpMethod == "POST" && request.InputStream != null)
            {
                try
                {
                    Stream       stream    = request.InputStream;
                    StreamReader strStream = new StreamReader(stream, Encoding.UTF8);
                    string       retString = strStream.ReadToEnd();

                    stream.Close();
                    strStream.Close();
                    //var ret = JObject.Parse(retString).ToObject<Dictionary<String, object>>();
                    //Dictionary<String,object> ret = JsonConvert.DeserializeObject<Dictionary<String, object>>(retString);
                    //Dictionary<String,List<Message>> me = JsonConvert.DeserializeObject<Dictionary<String, List<Message>>>(ret["Table"].ToString());
                    //JArray jarray = JArray.Parse(ret["Table"].ToString());
                    JArray jarray = JArray.Parse(retString);
                    foreach (var jsonitem in jarray)
                    {
                        JObject job    = (JObject)jsonitem;
                        int     ser_id = AddScriptResult(job);
                        ScriptExecuteDetailResult model  = addRe(ser_id, job);
                        StringBuilder             strSql = new StringBuilder();
                        strSql.Append("insert into ScriptExecuteDetailResult(");
                        strSql.Append("ScriptName,ser_id,IsSucceed,StartDate,EndDate,LogFilePath,terminal,isDel,DeviceName,ExecuteTrimLenght,remark,TaskNum,IsUnLoad)");
                        strSql.Append(" values (");
                        strSql.Append("@ScriptName,@ser_id,@IsSucceed,@StartDate,@EndDate,@LogFilePath,@terminal,@isDel,@DeviceName,@ExecuteTrimLenght,@remark,@TaskNum,0)");
                        strSql.Append(";select LAST_INSERT_ROWID()");
                        SQLiteParameter[] parameters =
                        {
                            new SQLiteParameter("@ScriptName",        DbType.String),
                            new SQLiteParameter("@ser_id",            DbType.Int32,      8),
                            new SQLiteParameter("@IsSucceed",         DbType.String),
                            new SQLiteParameter("@StartDate",         DbType.String),
                            new SQLiteParameter("@EndDate",           DbType.String),
                            new SQLiteParameter("@LogFilePath",       DbType.String),
                            new SQLiteParameter("@terminal",          DbType.String),
                            new SQLiteParameter("@isDel",             DbType.Int16,      4),
                            new SQLiteParameter("@DeviceName",        DbType.String,    50),
                            new SQLiteParameter("@ExecuteTrimLenght", DbType.Int16,      4),
                            new SQLiteParameter("@remark",            DbType.String,  1000),
                            new SQLiteParameter("@TaskNum",           DbType.Int32, 8)
                        };
                        parameters[0].Value  = model.ScriptName;
                        parameters[1].Value  = model.ser_id;
                        parameters[2].Value  = model.IsSucceed;
                        parameters[3].Value  = model.StartDate;
                        parameters[4].Value  = model.EndDate;
                        parameters[5].Value  = model.LogFilePath;
                        parameters[6].Value  = model.Terminal;
                        parameters[7].Value  = model.IsDel;
                        parameters[8].Value  = model.DeviceName;
                        parameters[9].Value  = model.ExecuteTrimLenght;
                        parameters[10].Value = model.Remark;
                        parameters[11].Value = model.TaskNum;

                        object obj = SqliteHelpDao.ExecuteScalar(ConnectionString, CommandType.Text, strSql.ToString(), parameters);
                        int    a;
                        if (obj == null)
                        {
                            a = 0;
                        }
                        else
                        {
                            a = Convert.ToInt32(obj);
                        }
                    }
                    response.StatusDescription = "200"; //获取或设置返回给客户端的 HTTP 状态代码的文本说明。
                    response.StatusCode        = 200;   // 获取或设置返回给客户端的 HTTP 状态代码。
                    returnObj = "已收到,接收成功";
                }
                catch (Exception ex)
                {
                    response.StatusDescription = "404";
                    response.StatusCode        = 404;
                    returnObj = ex.Message;
                }

                Stream outstream = response.OutputStream;
                byte[] buffer    = Encoding.UTF8.GetBytes(returnObj);
                outstream.Write(buffer, 0, buffer.Length);
                outstream.Close();
            }
        }