duheng
2024-08-02 94ed0d75cd4aa090fa8421af6609066682028943
修改日志文件
已修改12个文件
已添加4个文件
797 ■■■■■ 文件已修改
DAL/IStation.DAL.Paras/分析配置/AnaSetting.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/IStation.DAL.Paras/长江水位/Monitor/TideFromMonitorHelper.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/IStation.DAL.Paras/长江水位/book/TideFromBookHelper.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/IStation.DAL.Paras/长江水位/web/TideFromWebHelper.cs 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Library/IStation.ChEr.Log4Net.dll 补丁 | 查看 | 原始文档 | blame | 历史
Settings/IStation.Settings/LogConfig.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utils/IStation.Log/IStation.Log.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utils/IStation.Log/LogConfig.cs 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utils/IStation.Log/LogHelper.cs 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/.vs/IStation.ChEr.WebApi.csproj.dtbcache.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Api/CustomHandleErrorAttribute.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Controllers/RiverWaterLevelDropController.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Global.asax.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Logs/Tests/20240802.txt 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/众毅调度/ZyProjectHelper.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/IStation.DAL.Paras/·ÖÎöÅäÖÃ/AnaSetting.cs
@@ -1,15 +1,13 @@

using System;
using System.IO;
using System.Text;
using System;
using System.IO;
using System.Text;
namespace IStation.Common
{
{
    public class AnaSetting
    {
        /// <summary>
        ///
        ///
        /// </summary>
        /// <returns></returns>
        public static CalcModel.AnaSetting Initial()
@@ -21,10 +19,9 @@
                {
                    anaSetting = ReadFile();
                }
                IStation.AnaGlobalParas.Setting = anaSetting;
            }
            return IStation.AnaGlobalParas.Setting;
        }
@@ -35,8 +32,8 @@
            if (File.Exists(jsonFileName))
            {
                var json = File.ReadAllText(jsonFileName);
                var setting =  JsonHelper.Json2Object<CalcModel.AnaSetting>(json);
                if(setting.OptimalPumpIndexSequence == null)
                var setting = JsonHelper.Json2Object<CalcModel.AnaSetting>(json);
                if (setting.OptimalPumpIndexSequence == null)
                {
                    setting.OptimalPumpIndexSequence = new int[] { 1, 4, 2, 0, 3 };
                }
@@ -51,17 +48,16 @@
        }
        /// <summary>
        ///
        ///
        /// </summary>
        /// <param name="anaSetting"></param>
        /// <returns></returns>
        /// <returns></returns>
        public static bool SaveSetting(CalcModel.AnaSetting anaSetting)
        {
            if (anaSetting == null)
            {
                return false;
            }
            IStation.AnaGlobalParas.Setting = anaSetting;
            try
@@ -72,15 +68,13 @@
                return true;
            }
            catch  (Exception ex)
            catch (Exception ex)
            {
                IStation.LogHelper.Error("General Save Setting Error: "+ex.Message+ ",配置读取失败,路径:" + System.IO.Path.Combine(IStation.DataFolderHelper.GetRootPath()));
                IStation.LogHelper.Error("General Save Setting Error: " + ex.Message + ",配置读取失败,路径:" + System.IO.Path.Combine(IStation.DataFolderHelper.GetRootPath()));
                return false;
            }
        }
        private static readonly object _locker = new object();
    }
}
}
DAL/IStation.DAL.Paras/³¤½­Ë®Î»/Monitor/TideFromMonitorHelper.cs
@@ -9,33 +9,31 @@
{
    public class TideFromMonitorHelper
    {
        /// <summary>
        ///
        ///
        /// </summary>
        /// <param name="startday"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        static public List<Model.TimeWaterLevel> GetByDay2(DateTime startday, out string error)
        public static List<Model.TimeWaterLevel> GetByDay2(DateTime startday, out string error)
        {
            error = null;
            return   ReadList(startday );
            return ReadList(startday);
        }
        /// <summary>
        /// è¯»å–
        /// è¯»å–
        /// </summary>
        /// <param name="Startday"></param>
        /// <param name="Endday"></param>
        /// <param name="folder"></param>
        /// <returns></returns>
        static public List<Model.TimeWaterLevel> GetByDayRange(DateTime Startday, DateTime Endday,  out string error)
        public static List<Model.TimeWaterLevel> GetByDayRange(DateTime Startday, DateTime Endday, out string error)
        {
            var waterLevels长江 = new List<TimeWaterLevel>();
            for (DateTime currentDate = Startday; currentDate <= Endday; currentDate = currentDate.AddDays(1))
            {
                var list1 = ReadList(currentDate );
                var list1 = ReadList(currentDate);
                if (list1 != null && list1.Count > 0)
                {
                    for (int h = 0; h < list1.Count; h++)
@@ -45,15 +43,15 @@
                           list1[h].Time,
                           list1[h].Level));
                    }
                }
                }
            }
            error = null;
            return waterLevels长江;
        }
        static private List<Model.TimeWaterLevel> ReadList(DateTime day )
        private static List<Model.TimeWaterLevel> ReadList(DateTime day)
        {
            var list = new List<Model.TimeWaterLevel>();
            var list = new List<Model.TimeWaterLevel>();
            var folder = System.IO.Path.Combine(IStation.DataFolderHelper.GetRootPath(),
                "Tide", "FromMonitor",
                day.Year.ToString(),
@@ -81,9 +79,8 @@
                string[] arr = tempText.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                //一般第一行为标题,所以取出来作为标头
                    list.Add(new Model.TimeWaterLevel(Convert.ToDateTime(arr[0]), Convert.ToDouble(arr[1])));
                list.Add(new Model.TimeWaterLevel(Convert.ToDateTime(arr[0]), Convert.ToDouble(arr[1])));
            }
            //关闭流
@@ -97,7 +94,7 @@
        /// </summary>
        /// <param name="day"></param>
        /// <param name="list"></param>
        static public void SaveList(DateTime day,   List<Model.TimeWaterLevel> list)
        public static void SaveList(DateTime day, List<Model.TimeWaterLevel> list)
        {
            if (list == null)
                return;
@@ -110,17 +107,13 @@
                if (!System.IO.Directory.Exists(folder))
                {
                    System.IO.Directory.CreateDirectory(folder);
                }
                var fileName = System.IO.Path.Combine(folder,
                    string.Format("{0}.csv", day.ToString("yyyy-MM-dd")));
                StreamWriter streamWriter = new StreamWriter(fileName, false, System.Text.Encoding.GetEncoding("gb2312"));
                StringBuilder StringBuilder = new StringBuilder();
                // å†™å‡ºæ•°æ®
                foreach (var m in list)
@@ -134,10 +127,9 @@
            }
            catch (Exception ex)
            {
                IStation.LogHelper.WriteError("write tide file error:" + ex.Message, ex);
                IStation.LogHelper.Error("write tide file error:" + ex.Message, ex);
                return;
            }
        }
    }
}
}
DAL/IStation.DAL.Paras/³¤½­Ë®Î»/book/TideFromBookHelper.cs
@@ -5,31 +5,32 @@
using System.Text;
using IStation.Model;
namespace IStation.Common
namespace IStation.Common
{
    public class TideFromBookHelper
    {
        /// <summary>
        /// èŽ·å–æ½®æ±æ•°æ®
        /// </summary>
        static public List<Model.TileLevel> GetByDay1(
            DateTime startday,
        public static List<Model.TileLevel> GetByDay1(
            DateTime startday,
            out string error)
        {
            error = null;
            return ReadList(startday );
            return ReadList(startday);
        }
        /// <summary>
        ///
        ///
        /// </summary>
        /// <param name="startday"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        static public List<Model.TimeWaterLevel> GetByDay2(DateTime startday, out string error)
        public static List<Model.TimeWaterLevel> GetByDay2(DateTime startday, out string error)
        {
            var waterLevels长江 = new List<TimeWaterLevel>();
            error = null;
                  var list = ReadList(startday );
            var list = ReadList(startday);
            if (list != null)
            {
                foreach (var h in list)
@@ -46,20 +47,19 @@
            return waterLevels长江;
        }
        /// <summary>
        /// è¯»å–
        /// è¯»å–
        /// </summary>
        /// <param name="Startday"></param>
        /// <param name="Endday"></param>
        /// <param name="folder"></param>
        /// <returns></returns>
        static public List<Model.TimeWaterLevel> GetByDayRange(DateTime Startday, DateTime Endday,  out string error)
        public static List<Model.TimeWaterLevel> GetByDayRange(DateTime Startday, DateTime Endday, out string error)
        {
            var waterLevels长江 = new List<TimeWaterLevel>();
            for (DateTime currentDate = Startday; currentDate <= Endday; currentDate = currentDate.AddDays(1))
            {
                var list1 = ReadList(currentDate );
                var list1 = ReadList(currentDate);
                if (list1 != null && list1.Count > 0)
                {
                    for (int h = 0; h < 24; h++)
@@ -69,15 +69,15 @@
                           new DateTime(currentDate.Year, currentDate.Month, currentDate.Day, h, 0, 0),
                           list1[h].Level));
                    }
                }
                }
            }
            error = null;
            return waterLevels长江;
        }
        static private List<Model.TileLevel> ReadList(DateTime day )
        private static List<Model.TileLevel> ReadList(DateTime day)
        {
            var list = new List<Model.TileLevel>();
            var list = new List<Model.TileLevel>();
            var folder = System.IO.Path.Combine(IStation.DataFolderHelper.GetRootPath(),
                "Tide", "FromBook",
                day.Year.ToString(),
@@ -105,9 +105,8 @@
                string[] arr = tempText.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                //一般第一行为标题,所以取出来作为标头
                    list.Add(new Model.TileLevel(Convert.ToInt32(arr[0]), Convert.ToDouble(arr[1])));
                list.Add(new Model.TileLevel(Convert.ToInt32(arr[0]), Convert.ToDouble(arr[1])));
            }
            //关闭流
@@ -121,10 +120,10 @@
        /// </summary>
        /// <param name="day"></param>
        /// <param name="list"></param>
        static public bool SaveList(DateTime day,   List<Model.TileLevel> list)
        public static bool SaveList(DateTime day, List<Model.TileLevel> list)
        {
            if (list == null)
                return false ;
                return false;
            try
            {
                var folder = System.IO.Path.Combine(IStation.DataFolderHelper.GetRootPath(),
@@ -134,17 +133,13 @@
                if (!System.IO.Directory.Exists(folder))
                {
                    System.IO.Directory.CreateDirectory(folder);
                }
                var fileName = System.IO.Path.Combine(folder,
                    string.Format("{0}.csv", day.ToString("yyyy-MM-dd")));
                StreamWriter streamWriter = new StreamWriter(fileName, false, System.Text.Encoding.GetEncoding("gb2312"));
                StringBuilder StringBuilder = new StringBuilder();
                // å†™å‡ºæ•°æ®
                foreach (var m in list)
@@ -158,12 +153,11 @@
            }
            catch (Exception ex)
            {
                IStation.LogHelper.WriteError("write tide file error:" + ex.Message, ex);
                return false ;
                IStation.LogHelper.Error("write tide file error:" + ex.Message, ex);
                return false;
            }
            return true ;
            return true;
        }
    }
}
}
DAL/IStation.DAL.Paras/³¤½­Ë®Î»/web/TideFromWebHelper.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Text;
using IStation.Model;
namespace IStation.Common
@@ -11,21 +11,20 @@
    ///  æ½®æ±æŽ¥å£
    /// </summary>
    public class TideFromWebHelper
    {
    {
        private static readonly string _urlPrefix = "https://global-tide.nmdis.org.cn/Api/Service.ashx";
            //"http://global-tide.nmdis.org.cn/Api/Service.ashx";//主体Url
        //"http://global-tide.nmdis.org.cn/Api/Service.ashx";//主体Url
        /// <summary>
        /// èŽ·å–æ½®æ±æ•°æ®
        /// </summary>
        static public List<Model.TileLevel> GetByDay1(
            DateTime startday,
        public static List<Model.TileLevel> GetByDay1(
            DateTime startday,
            out string error)
        {
            string benchmark;
            var list = ReadList(startday, out benchmark);
            if(list == null)
            if (list == null)
            {
                list = GetByDayApi(startday, out benchmark, out error);
                if (list == null)
@@ -37,21 +36,22 @@
            }
            else
            {
                 error = null;
            }
                error = null;
            }
            return list;
        }
        /// <summary>
        ///
        ///
        /// </summary>
        /// <param name="startday"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        static public List<Model.TimeWaterLevel> GetByDay2(DateTime startday, out string error)
        public static List<Model.TimeWaterLevel> GetByDay2(DateTime startday, out string error)
        {
            var waterLevels长江 = new List<TimeWaterLevel>();
            var list = GetByDay1(startday,   out error);
            var list = GetByDay1(startday, out error);
            if (list != null)
            {
                foreach (var h in list)
@@ -69,29 +69,28 @@
        }
        /// <summary>
        ///
        ///
        /// </summary>
        /// <param name="startday"></param>
        /// <param name="endday"></param>
        /// <param name="benchmark"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        static public List<Model.TimeWaterLevel> GetByDayRange(
            DateTime startday, DateTime endday,
        public static List<Model.TimeWaterLevel> GetByDayRange(
            DateTime startday, DateTime endday,
            out string error)
        {
            error = null;
            var waterLevels长江 = new List<TimeWaterLevel>();
            var waterLevels长江 = new List<TimeWaterLevel>();
            for (DateTime currentDate = startday; currentDate <= endday; currentDate = currentDate.AddDays(1))
            {
                if (endday.Date > DateTime.Now.Date.AddDays(2))
                {
                    break ;
                    break;
                }
                var list1 = GetByDay1(startday.Date,  out error);
                var list1 = GetByDay1(startday.Date, out error);
                if (list1 != null && list1.Count > 0)
                {
                    for (int h = startday.Hour; h < 24; h++)
@@ -104,18 +103,17 @@
                }
            }
            return waterLevels长江;
        }
        /// <summary>
        ///
        ///
        /// </summary>
        /// <param name="day"></param>
        /// <param name="benchmark"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        static private List<Model.TileLevel> GetByDayApi(
        private static List<Model.TileLevel> GetByDayApi(
            DateTime day,
            out string benchmark,
            out string error)
@@ -141,20 +139,20 @@
                var result = JsonHelper.Json2Object<IStation.CalcModel.Tide.Result>(responseText);
                if (result == null)
                {
                    IStation.LogHelper.Error("read tide from web 1 é•¿æ±Ÿæ°´ä½è¯·æ±‚失败 "   );
                    IStation.LogHelper.Error("read tide from web 1 é•¿æ±Ÿæ°´ä½è¯·æ±‚失败 ");
                    error = "长江水位请求失败";
                    return null;
                }
                if (Convert.ToBoolean(result.State) && !string.IsNullOrEmpty(result.Message))
                {
                    IStation.LogHelper.Error("read tide from web 2 é•¿æ±Ÿæ°´ä½è¯·æ±‚失败 "+ result.Message);
                    IStation.LogHelper.Error("read tide from web 2 é•¿æ±Ÿæ°´ä½è¯·æ±‚失败 " + result.Message);
                    error = result.Message;
                    return null;
                }
                if (result.Data == null)
                {
                    IStation.LogHelper.Error("read tide from web 3 é•¿æ±Ÿæ°´ä½è¯·æ±‚失败 "  );
                    IStation.LogHelper.Error("read tide from web 3 é•¿æ±Ÿæ°´ä½è¯·æ±‚失败 ");
                    error = "长江水位请求失败";
                    return null;
                }
@@ -162,7 +160,7 @@
                benchmark = result.Data.Data.Benchmark;//= "在平均海面下213cm"
                List<Model.TileLevel> list = new List<Model.TileLevel>(24);
                list.Add(new Model.TileLevel()
                { Hour =   0 , Level = result.Data.SubData.a0 / 100 });
                { Hour = 0, Level = result.Data.SubData.a0 / 100 });
                list.Add(new Model.TileLevel()
                { Hour = 1, Level = result.Data.SubData.a1 / 100 });
                list.Add(new Model.TileLevel()
@@ -209,19 +207,19 @@
                { Hour = 22, Level = result.Data.SubData.a22 / 100 });
                list.Add(new Model.TileLevel()
                { Hour = 23, Level = result.Data.SubData.a23 / 100 });
                IStation.LogHelper.Info("read tide from web  day: " + day +" success");
                IStation.LogHelper.Info("read tide from web  day: " + day + " success");
                return list;
            }
            catch (Exception ex)
            {
                IStation.LogHelper.Error("read tide from web error:"+ ex);
                IStation.LogHelper.Error("read tide from web error:" + ex);
                error = ex.Message;
                //IStation.Log
            }
            return null;
        }
        static private void SaveList(DateTime day, string benchmark, List<Model.TileLevel> list)
        private static void SaveList(DateTime day, string benchmark, List<Model.TileLevel> list)
        {
            if (list == null)
                return;
@@ -234,11 +232,9 @@
                if (!System.IO.Directory.Exists(folder))
                {
                    System.IO.Directory.CreateDirectory(folder);
                }
                var fileName = System.IO.Path.Combine(folder,
                    string.Format("{0}.csv", day.ToString("yyyy-MM-dd")));
                StreamWriter streamWriter = new StreamWriter(fileName, false, System.Text.Encoding.GetEncoding("gb2312"));
@@ -258,14 +254,14 @@
                streamWriter.Flush();
                streamWriter.Close();
            }
            catch(Exception ex)
            catch (Exception ex)
            {
               IStation.LogHelper.WriteError("write tide file error:"+ex.Message, ex);
                IStation.LogHelper.Error("write tide file error:" + ex.Message, ex);
                return;
            }
        }
        static private List<Model.TileLevel> ReadList(DateTime day,out string benchmark)
        private static List<Model.TileLevel> ReadList(DateTime day, out string benchmark)
        {
            var list = new List<Model.TileLevel>();
            benchmark = null;
@@ -288,7 +284,7 @@
            System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Open);
            System.IO.StreamReader sr = new System.IO.StreamReader(fs, Encoding.GetEncoding("gb2312"));
            string tempText  ;
            string tempText;
            int line = 0;
            while ((tempText = sr.ReadLine()) != null)
            {
@@ -298,7 +294,6 @@
                //一般第一行为标题,所以取出来作为标头
                if (line == 1)
                {
                }
                else if (line == 2)
                {
@@ -306,7 +301,7 @@
                }
                else
                {
                     list.Add(new Model.TileLevel(Convert.ToInt32(arr[0]), Convert.ToDouble(arr[1])));
                    list.Add(new Model.TileLevel(Convert.ToInt32(arr[0]), Convert.ToDouble(arr[1])));
                }
            }
@@ -317,7 +312,7 @@
        }
        //请求
        private static string HttpRequest(string url, string type, string data = null )
        private static string HttpRequest(string url, string type, string data = null)
        {
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
@@ -327,7 +322,7 @@
            request.Method = type;
            request.ContentType = "application/json";
            request.KeepAlive = false;
            //if (version != null)
            //{
            //    //默认是HttpVersion.Version11
@@ -335,12 +330,14 @@
            //}
            #region æ³¨é‡Š
            /*request.Timeout = 10 * 1000;//请求超时时间
            if (!string.IsNullOrEmpty(data))
            {
                request.ContentLength = Encoding.UTF8.GetBytes(data).Length;
            }*/
            #endregion
            #endregion æ³¨é‡Š
            if (!string.IsNullOrEmpty(data))
            {
@@ -359,7 +356,5 @@
            }
            return responseText;
        }
    }
}
Library/IStation.ChEr.Log4Net.dll
Binary files differ
Settings/IStation.Settings/LogConfig.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
using log4net;
using log4net.Appender;
using log4net.Core;
using log4net.Layout;
using log4net.Repository.Hierarchy;
//[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace Yw
{
    internal static class LogConfig
    {
        //默认配置
        private const string LEVEL = "All";//等级
        private const bool APPENDTOFILE = true;//是否追加到文件
        private const long MAXFILESIZE = 10240;//最大文件尺寸
        private const int MAXSIZEROLLBACKUPS = 1000;
        private const bool STATICLOGFILENAME = false;//文件名称是否固定
        private const string ROLLINGSTYLE = "Date";
        private const string DATEPATTERN = "yyyyMMdd\".txt\"";
        private const string CONVERSIONPATTERN = "%d|%m|%n";
        //日志根目录
        private const string _folder = "Logs";
        //获取日志
        public static ILog GetLogger(string name, bool additivity = false)
        {
            var loggerName = GetLoggerName(name);
            if (LogManager.Exists(loggerName) == null)
            {
                RollingFileAppender appender = CreateFileAppender(loggerName, GetFolder(name));
                Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
                Logger logger = hierarchy.GetLogger(loggerName, hierarchy.LoggerFactory);
                logger.Hierarchy = hierarchy;
                logger.Level = Level.All;
                logger.Parent = hierarchy.Root;
                logger.Additivity = additivity;
                logger.AddAppender(appender);
                logger.Repository.Configured = true;
            }
            var log = LogManager.GetLogger(loggerName);
            return log;
        }
        //获取logger名称
        private static string GetLoggerName(string name)
        {
            return $"log{name.ToLower()}";
        }
        //获取文件夹
        private static string GetFolder(string name)
        {
            if (string.IsNullOrEmpty(name))
                return string.Empty;
            return $"{_folder}\\{name}\\";
        }
        //获取日志等级
        private static Level GetLoggerLevel(string level)
        {
            if (string.IsNullOrEmpty(level))
                return Level.All;
            switch (level.ToLower())
            {
                case "all": return Level.All;
                case "debug": return Level.Debug;
                case "info": return Level.Info;
                case "warn": return Level.Warn;
                case "error": return Level.Error;
                case "fatal": return Level.Fatal;
                default: return Level.All;
            }
        }
        //创建FileAppender
        private static RollingFileAppender CreateFileAppender
            (
                string appenderName,
                string file,
                bool appendToFile = true,
                long maxFileSize = 10240,
                int maxSizeRollBackups = 1000,
                bool staticLogFileName = false,
                RollingFileAppender.RollingMode rollingMode = RollingFileAppender.RollingMode.Date,
                string datePattern = "yyyyMMdd\".txt\"",
                string layoutPattern = "%d|%m|%n")
        {
            RollingFileAppender appender = new RollingFileAppender
            {
                LockingModel = new FileAppender.MinimalLock(),
                Name = appenderName,
                File = file,
                AppendToFile = appendToFile,
                MaxFileSize = maxFileSize,
                MaxSizeRollBackups = maxSizeRollBackups,
                StaticLogFileName = staticLogFileName,
                RollingStyle = rollingMode,
                DatePattern = datePattern
            };
            PatternLayout layout = new PatternLayout(layoutPattern);
            appender.Layout = layout;
            layout.ActivateOptions();
            appender.ActivateOptions();
            return appender;
        }
    }
}
Utils/IStation.Log/IStation.Log.csproj
@@ -50,6 +50,7 @@
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="LogConfig.cs" />
    <Compile Include="LogHelper.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>
Utils/IStation.Log/LogConfig.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,109 @@
using log4net;
using log4net.Appender;
using log4net.Core;
using log4net.Layout;
using log4net.Repository.Hierarchy;
//[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace IStation
{
    internal static class LogConfig
    {
        //默认配置
        private const string LEVEL = "All";//等级
        private const bool APPENDTOFILE = true;//是否追加到文件
        private const long MAXFILESIZE = 10240;//最大文件尺寸
        private const int MAXSIZEROLLBACKUPS = 1000;
        private const bool STATICLOGFILENAME = false;//文件名称是否固定
        private const string ROLLINGSTYLE = "Date";
        private const string DATEPATTERN = "yyyyMMdd\".txt\"";
        private const string CONVERSIONPATTERN = "%d|%m|%n";
        //日志根目录
        private const string _folder = "Logs";
        //获取日志
        public static ILog GetLogger(string name, bool additivity = false)
        {
            var loggerName = GetLoggerName(name);
            if (LogManager.Exists(loggerName) == null)
            {
                RollingFileAppender appender = CreateFileAppender(loggerName, GetFolder(name));
                Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
                Logger logger = hierarchy.GetLogger(loggerName, hierarchy.LoggerFactory);
                logger.Hierarchy = hierarchy;
                logger.Level = Level.All;
                logger.Parent = hierarchy.Root;
                logger.Additivity = additivity;
                logger.AddAppender(appender);
                logger.Repository.Configured = true;
            }
            var log = LogManager.GetLogger(loggerName);
            return log;
        }
        //获取logger名称
        private static string GetLoggerName(string name)
        {
            return $"log{name.ToLower()}";
        }
        //获取文件夹
        private static string GetFolder(string name)
        {
            if (string.IsNullOrEmpty(name))
                return string.Empty;
            return $"{_folder}\\{name}\\";
        }
        //获取日志等级
        private static Level GetLoggerLevel(string level)
        {
            if (string.IsNullOrEmpty(level))
                return Level.All;
            switch (level.ToLower())
            {
                case "all": return Level.All;
                case "debug": return Level.Debug;
                case "info": return Level.Info;
                case "warn": return Level.Warn;
                case "error": return Level.Error;
                case "fatal": return Level.Fatal;
                default: return Level.All;
            }
        }
        //创建FileAppender
        private static RollingFileAppender CreateFileAppender
            (
                string appenderName,
                string file,
                bool appendToFile = true,
                long maxFileSize = 10240,
                int maxSizeRollBackups = 1000,
                bool staticLogFileName = false,
                RollingFileAppender.RollingMode rollingMode = RollingFileAppender.RollingMode.Date,
                string datePattern = "yyyyMMdd\".txt\"",
                string layoutPattern = "%d|%m|%n")
        {
            RollingFileAppender appender = new RollingFileAppender
            {
                LockingModel = new FileAppender.MinimalLock(),
                Name = appenderName,
                File = file,
                AppendToFile = appendToFile,
                MaxFileSize = maxFileSize,
                MaxSizeRollBackups = maxSizeRollBackups,
                StaticLogFileName = staticLogFileName,
                RollingStyle = rollingMode,
                DatePattern = datePattern
            };
            PatternLayout layout = new PatternLayout(layoutPattern);
            appender.Layout = layout;
            layout.ActivateOptions();
            appender.ActivateOptions();
            return appender;
        }
    }
}
Utils/IStation.Log/LogHelper.cs
@@ -1,102 +1,147 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
namespace IStation
{
    public  class LogHelper
    /// <summary>
    ///
    /// </summary>
    public class LogHelper
    {
        public static void Initial()
        {
            string  directory   ;
            if (IStation.DataFolderHelper.IsExeExcute)
            {
                directory = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory).FullName;
            }
            else
            {
                directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            }
            var configFile = System.IO.Path.Combine(directory, "Config","log4net.config");
        #region Info
            if (System.IO.File.Exists(configFile))
            {
                log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(configFile));
            }
            else
            {
                log4net.Config.XmlConfigurator.Configure();
            }
        private static string InfoName = "Info";
            logError = log4net.LogManager.GetLogger("IStation.Error");
            logInfo = log4net.LogManager.GetLogger("IStation.Info");
            logInfo.Info("初始化成功");
        }
        #region  é”™è¯¯æ—¥å¿—
        private static log4net.ILog logError = null;
        public static void WriteError(string msg,Exception ex)
        {
            if (logError == null)
                logError = log4net.LogManager.GetLogger("IStation.Error");
            logError.Error(msg, ex);
        }
        public static void WriteError(string msg ,int line, Exception ex)
        {
            if (logError == null)
                logError = log4net.LogManager.GetLogger("IStation.Error");
            logError.Error(string.Format("msg:{0}, line:{1}",msg,line), ex);
        }
        public static void WriteError(string msg)
        {
            if (logError == null)
                logError = log4net.LogManager.GetLogger("IStation.Error");
            logError.Error(msg);
        }
        public static void Error(  Exception ex)
        {
            if (logError == null)
                logError = log4net.LogManager.GetLogger("IStation.Error");
            logError.Error(ex.Message, ex);
        }
        public static void Error(string msg, Exception ex)
        {
            if (logError == null)
                logError = log4net.LogManager.GetLogger("IStation.Error");
            logError.Error(msg, ex);
        }
        public static void Error(string msg, int line, Exception ex)
        {
            if (logError == null)
                logError = log4net.LogManager.GetLogger("IStation.Error");
            logError.Error(string.Format("msg:{0}, line:{1}", msg, line), ex);
        }
        public static void Error(string msg)
        {
            if (logError == null)
                logError = log4net.LogManager.GetLogger("IStation.Error");
            logError.Error(msg);
        }
        #endregion
        //这里的 loginfo å’Œ log4net.config é‡Œçš„名字要一样
        private static readonly log4net.ILog _loginfo = LogConfig.GetLogger(InfoName);
        #region æ­£å¸¸æ—¥å¿—
        private static log4net.ILog logInfo = null;
        /// <summary>
        /// å†™å…¥ä¿¡æ¯æ—¥å¿—
        /// </summary>
        public static void Info(string info)
        {
            if (logInfo == null)
                logInfo = log4net.LogManager.GetLogger("IStation.Info");
            if (logInfo != null)
            if (_loginfo.IsInfoEnabled)
            {
                logInfo.Info(info);
                _loginfo.Info(info);
            }
        }
        #endregion
        /// <summary>
        /// å†™å…¥ä¿¡æ¯æ—¥å¿—
        /// </summary>
        public static void InfoFormat(string format, params object[] args)
        {
            if (_loginfo.IsInfoEnabled)
            {
                _loginfo.InfoFormat(format, args);
            }
        }
        #endregion Info
        #region Debug
        private static string DebugName = "Debug";
        //这里的 logdebug å’Œ log4net.config é‡Œçš„名字要一样
        private static readonly log4net.ILog _logdebug = LogConfig.GetLogger(DebugName);
        /// <summary>
        /// å†™å…¥è°ƒè¯•日志
        /// </summary>
        public static void Debug(string info)
        {
            if (_logdebug.IsInfoEnabled)
            {
                _logdebug.Debug(info);
            }
        }
        /// <summary>
        ///  å†™å…¥è°ƒè¯•日志
        /// </summary>
        public static void DebugFormat(string format, params object[] args)
        {
            if (_logdebug.IsInfoEnabled)
            {
                _logdebug.DebugFormat(format, args);
            }
        }
        #endregion Debug
        #region Error
        private static string ErrorName = "Error";
        private static readonly log4net.ILog _logerror = LogConfig.GetLogger(ErrorName);
        /// <summary>
        /// å†™å…¥é”™è¯¯æ—¥å¿—
        /// </summary>
        public static void Error(string info, Exception ex = null)
        {
            if (_logerror.IsErrorEnabled)
            {
                if (ex == null)
                    _logerror.Error(info);
                else
                    _logerror.Error(info, ex);
            }
        }
        /// <summary>
        /// å†™å…¥é”™è¯¯æ—¥å¿—
        /// </summary>
        public static void ErrorFormat(string format, params object[] args)
        {
            if (_logerror.IsErrorEnabled)
            {
                _logerror.ErrorFormat(format, args);
            }
        }
        /// <summary>
        /// å†™å…¥é”™è¯¯æ—¥å¿—
        /// </summary>
        public static void Error(string info, int line, Exception ex = null)
        {
            if (_logerror.IsErrorEnabled)
            {
                if (ex == null)
                    _logerror.Error(info + " åœ¨ä»£ç ç¬¬" + line);
                else
                    _logerror.Error(info + " åœ¨ä»£ç ç¬¬" + line, ex);
            }
        }
        #endregion Error
        #region è‡ªå®šä¹‰
        /// <summary>
        /// è‡ªå®šä¹‰
        /// </summary>
        public static void Custom(string name, string msg)
        {
            var log = LogConfig.GetLogger(name);
            if (log.IsInfoEnabled)
            {
                log.Info(msg);
            }
        }
        /// <summary>
        /// è‡ªå®šä¹‰
        /// </summary>
        public static void CustomFormat(string name, string format, params object[] args)
        {
            var log = LogConfig.GetLogger(name);
            if (log.IsInfoEnabled)
            {
                log.InfoFormat(format, args);
            }
        }
        #endregion è‡ªå®šä¹‰
    }
}
}
WebApi/.vs/IStation.ChEr.WebApi.csproj.dtbcache.json
@@ -1 +1 @@
{"RootPath":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\WebApi","ProjectFileName":"IStation.ChEr.WebApi.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Api\\ApiResult.cs"},{"SourceFile":"Api\\ApiResultCode.cs"},{"SourceFile":"Api\\ApiResultPageList_T.cs"},{"SourceFile":"Api\\ApiResult_Boolean.cs"},{"SourceFile":"Api\\ApiResult_ID.cs"},{"SourceFile":"Api\\ApiResult_List.cs"},{"SourceFile":"Api\\ApiResult_Object.cs"},{"SourceFile":"Api\\ApiResult_Status.cs"},{"SourceFile":"Api\\ApiResult_T.cs"},{"SourceFile":"App_Start\\BundleConfig.cs"},{"SourceFile":"App_Start\\FilterConfig.cs"},{"SourceFile":"App_Start\\RouteConfig.cs"},{"SourceFile":"App_Start\\SwaggerConfig.cs"},{"SourceFile":"App_Start\\WebApiConfig.cs"},{"SourceFile":"Areas\\HelpPage\\ApiDescriptionExtensions.cs"},{"SourceFile":"Areas\\HelpPage\\App_Start\\HelpPageConfig.cs"},{"SourceFile":"Areas\\HelpPage\\Controllers\\HelpController.cs"},{"SourceFile":"Areas\\HelpPage\\HelpPageAreaRegistration.cs"},{"SourceFile":"Areas\\HelpPage\\HelpPageConfigurationExtensions.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\CollectionModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ComplexTypeModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\DictionaryModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\EnumTypeModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\EnumValueDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\IModelDocumentationProvider.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\KeyValuePairModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ModelDescriptionGenerator.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ModelNameAttribute.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ModelNameHelper.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ParameterAnnotation.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ParameterDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\SimpleTypeModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\Models\\HelpPageApiModel.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\HelpPageSampleGenerator.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\HelpPageSampleKey.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\ImageSample.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\InvalidSample.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\ObjectGenerator.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\SampleDirection.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\TextSample.cs"},{"SourceFile":"Areas\\HelpPage\\XmlDocumentationProvider.cs"},{"SourceFile":"Controllers\\ZyPrjController.cs"},{"SourceFile":"Controllers\\AnaPrjController.cs"},{"SourceFile":"Controllers\\HomeController.cs"},{"SourceFile":"Controllers\\AnaSettingController.cs"},{"SourceFile":"Controllers\\PumpRunController.cs"},{"SourceFile":"Controllers\\ReservoirParasController.cs"},{"SourceFile":"Controllers\\ReservoirWaterLevelController.cs"},{"SourceFile":"Controllers\\RiverWaterLevelDropController.cs"},{"SourceFile":"Controllers\\TotalWaterOutController.cs"},{"SourceFile":"Controllers\\TotalWaterInController.cs"},{"SourceFile":"Global.asax.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Controllers\\TideController.cs"},{"SourceFile":"众毅调度\\dto\\OutPrj.cs"},{"SourceFile":"众毅调度\\dto\\DtoPrj.cs"},{"SourceFile":"众毅调度\\dto\\input\\ScadaDispatchInput.cs"},{"SourceFile":"众毅调度\\dto\\MonitorRecord.cs"},{"SourceFile":"众毅调度\\dto\\output\\ScadaDispatchOutput.cs"},{"SourceFile":"众毅调度\\PumpRunParasDay.cs"},{"SourceFile":"众毅调度\\ZyConnectHelper.cs"},{"SourceFile":"水总量\\TotalWaterInHelper.cs"},{"SourceFile":"水总量\\TotalWaterOutHelper.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Antlr.3.5.0.2\\lib\\Antlr3.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.AutoMapper.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Calc.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Calc.Model.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.DAL.Paras.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\Library\\IStation.Log.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.MemoryCache.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Model.Basic.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Model.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Model.Curve.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Model.Monitor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Newtonsoft.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Settings.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.SnowflakeId.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Unit.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\out\\IStation.Untity.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\\lib\\net45\\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.Web.Infrastructure.2.0.1\\lib\\net40\\Microsoft.Web.Infrastructure.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Newtonsoft.Json.12.0.2\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Swashbuckle.Core.5.6.0\\lib\\net40\\Swashbuckle.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.Composition.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.DataAnnotations.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Configuration.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.IO.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.WebApi.Client.5.2.9\\lib\\net45\\System.Net.Http.Formatting.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.WebRequest.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Runtime.Serialization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Security.Cryptography.Algorithms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Security.Cryptography.Encoding.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Security.Cryptography.Primitives.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Security.Cryptography.X509Certificates.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Abstractions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.ApplicationServices.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Entity.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.Helpers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.WebApi.Core.5.2.9\\lib\\net45\\System.Web.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.WebApi.WebHost.5.2.9\\lib\\net45\\System.Web.Http.WebHost.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.Mvc.5.2.9\\lib\\net45\\System.Web.Mvc.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.Web.Optimization.1.1.3\\lib\\net40\\System.Web.Optimization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.Razor.3.2.9\\lib\\net45\\System.Web.Razor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Routing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.Razor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\WebActivatorEx.2.0\\lib\\net40\\WebActivatorEx.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\packages\\WebGrease.1.6.0\\lib\\WebGrease.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\WebApi\\bin\\IStation.WebApi.dll","OutputItemRelativePath":"IStation.WebApi.dll"},{"OutputItemFullPath":"D:\\WorkData\\IStation\\ChEq\\CodeV1.3\\WebApi\\bin\\IStation.WebApi.pdb","OutputItemRelativePath":"IStation.WebApi.pdb"}],"CopyToOutputEntries":[]}
{"RootPath":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\WebApi","ProjectFileName":"IStation.ChEr.WebApi.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Api\\ApiResult.cs"},{"SourceFile":"Api\\ApiResultCode.cs"},{"SourceFile":"Api\\ApiResultPageList_T.cs"},{"SourceFile":"Api\\ApiResult_Boolean.cs"},{"SourceFile":"Api\\ApiResult_ID.cs"},{"SourceFile":"Api\\ApiResult_List.cs"},{"SourceFile":"Api\\ApiResult_Object.cs"},{"SourceFile":"Api\\ApiResult_Status.cs"},{"SourceFile":"Api\\ApiResult_T.cs"},{"SourceFile":"Api\\CustomHandleErrorAttribute.cs"},{"SourceFile":"App_Start\\BundleConfig.cs"},{"SourceFile":"App_Start\\FilterConfig.cs"},{"SourceFile":"App_Start\\RouteConfig.cs"},{"SourceFile":"App_Start\\SwaggerConfig.cs"},{"SourceFile":"App_Start\\WebApiConfig.cs"},{"SourceFile":"Areas\\HelpPage\\ApiDescriptionExtensions.cs"},{"SourceFile":"Areas\\HelpPage\\App_Start\\HelpPageConfig.cs"},{"SourceFile":"Areas\\HelpPage\\Controllers\\HelpController.cs"},{"SourceFile":"Areas\\HelpPage\\HelpPageAreaRegistration.cs"},{"SourceFile":"Areas\\HelpPage\\HelpPageConfigurationExtensions.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\CollectionModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ComplexTypeModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\DictionaryModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\EnumTypeModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\EnumValueDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\IModelDocumentationProvider.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\KeyValuePairModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ModelDescriptionGenerator.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ModelNameAttribute.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ModelNameHelper.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ParameterAnnotation.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\ParameterDescription.cs"},{"SourceFile":"Areas\\HelpPage\\ModelDescriptions\\SimpleTypeModelDescription.cs"},{"SourceFile":"Areas\\HelpPage\\Models\\HelpPageApiModel.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\HelpPageSampleGenerator.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\HelpPageSampleKey.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\ImageSample.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\InvalidSample.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\ObjectGenerator.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\SampleDirection.cs"},{"SourceFile":"Areas\\HelpPage\\SampleGeneration\\TextSample.cs"},{"SourceFile":"Areas\\HelpPage\\XmlDocumentationProvider.cs"},{"SourceFile":"Controllers\\ZyPrjController.cs"},{"SourceFile":"Controllers\\AnaPrjController.cs"},{"SourceFile":"Controllers\\HomeController.cs"},{"SourceFile":"Controllers\\AnaSettingController.cs"},{"SourceFile":"Controllers\\PumpRunController.cs"},{"SourceFile":"Controllers\\ReservoirParasController.cs"},{"SourceFile":"Controllers\\ReservoirWaterLevelController.cs"},{"SourceFile":"Controllers\\RiverWaterLevelDropController.cs"},{"SourceFile":"Controllers\\TotalWaterOutController.cs"},{"SourceFile":"Controllers\\TotalWaterInController.cs"},{"SourceFile":"Dto\\ZyPrjAnaSetting.cs"},{"SourceFile":"Global.asax.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Controllers\\TideController.cs"},{"SourceFile":"任务\\SynZyDayInfoDayJob.cs"},{"SourceFile":"任务\\ScheduleTask.cs"},{"SourceFile":"众毅调度\\dto\\OutPrj.cs"},{"SourceFile":"众毅调度\\dto\\DtoPrj.cs"},{"SourceFile":"众毅调度\\dto\\input\\ScadaDispatchInput.cs"},{"SourceFile":"众毅调度\\dto\\MonitorRecord.cs"},{"SourceFile":"众毅调度\\dto\\output\\ScadaDispatchOutput.cs"},{"SourceFile":"众毅调度\\PumpRunParasDay.cs"},{"SourceFile":"众毅调度\\ZyProjectHelper.cs"},{"SourceFile":"众毅调度\\ZyConnectHelper.cs"},{"SourceFile":"水总量\\TotalWaterInHelper.cs"},{"SourceFile":"水总量\\TotalWaterOutHelper.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Antlr.3.5.0.2\\lib\\Antlr3.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Common.Logging.Core.3.3.1\\lib\\net40\\Common.Logging.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Common.Logging.3.3.1\\lib\\net40\\Common.Logging.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\EntityFramework.6.4.4\\lib\\net45\\EntityFramework.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\EntityFramework.6.4.4\\lib\\net45\\EntityFramework.SqlServer.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.AutoMapper.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Calc.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Calc.Model.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.DAL.Paras.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.DAL.Project.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\Library\\IStation.Log.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.MemoryCache.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Model.Basic.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Model.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Model.Curve.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Model.Monitor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Newtonsoft.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Settings.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.SnowflakeId.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Unit.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\out\\IStation.Untity.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\\lib\\net45\\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.Extensions.Logging.Abstractions.2.1.1\\lib\\netstandard2.0\\Microsoft.Extensions.Logging.Abstractions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.Web.Infrastructure.2.0.1\\lib\\net40\\Microsoft.Web.Infrastructure.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Quartz.2.4.0\\lib\\net40\\Quartz.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Swashbuckle.Core.5.6.0\\lib\\net40\\Swashbuckle.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.Composition.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.DataAnnotations.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Configuration.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\\lib\\net46\\System.Data.SQLite.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\System.Data.SQLite.EF6.1.0.116.0\\lib\\net46\\System.Data.SQLite.EF6.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\System.Data.SQLite.Linq.1.0.116.0\\lib\\net46\\System.Data.SQLite.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\System.Diagnostics.DiagnosticSource.4.7.1\\lib\\net46\\System.Diagnostics.DiagnosticSource.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.IO.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.WebApi.Client.5.2.9\\lib\\net45\\System.Net.Http.Formatting.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.WebRequest.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Runtime.Remoting.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Runtime.Serialization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Security.Cryptography.Algorithms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Security.Cryptography.Encoding.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Security.Cryptography.Primitives.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Facades\\System.Security.Cryptography.X509Certificates.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Abstractions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.ApplicationServices.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Entity.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.Helpers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.WebApi.Core.5.2.9\\lib\\net45\\System.Web.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.WebApi.WebHost.5.2.9\\lib\\net45\\System.Web.Http.WebHost.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.Mvc.5.2.9\\lib\\net45\\System.Web.Mvc.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.Web.Optimization.1.1.3\\lib\\net40\\System.Web.Optimization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.Razor.3.2.9\\lib\\net45\\System.Web.Razor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Routing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.Razor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\WebActivatorEx.2.0\\lib\\net40\\WebActivatorEx.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\packages\\WebGrease.1.6.0\\lib\\WebGrease.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\WebApi\\bin\\IStation.WebApi.dll","OutputItemRelativePath":"IStation.WebApi.dll"},{"OutputItemFullPath":"D:\\WorkData\\IStation\\ChEqCalc.V1.3\\WebApi\\bin\\IStation.WebApi.pdb","OutputItemRelativePath":"IStation.WebApi.pdb"}],"CopyToOutputEntries":[]}
WebApi/Api/CustomHandleErrorAttribute.cs
@@ -1,11 +1,10 @@

using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
using System.Web.Http.Filters;
using System.Net.Http;
using System.Web.Http.ExceptionHandling;
@@ -17,7 +16,7 @@
namespace IStation.WebApi
{
    /// <summary>
    ///
    ///
    /// </summary>
    public class CustomHandleErrorAttribute : ExceptionFilterAttribute
    {
@@ -30,18 +29,17 @@
            IStation.Dto.ApiResult result = null;
            if (actionExecutedContext.Exception is NotImplementedException)
            {
                IStation.LogHelper.WriteError("NotImplementedException," + actionExecutedContext.Exception.Message);
                IStation.LogHelper.Error("NotImplementedException," + actionExecutedContext.Exception.Message);
                result = new IStation.Dto.ApiResult(IStation.Dto.ApiResultCode.Error, actionExecutedContext.Exception.Message);
            }
            else if (actionExecutedContext.Exception is TimeoutException)
            {
                IStation.LogHelper.WriteError("TimeoutException," + actionExecutedContext.Exception.Message);
                IStation.LogHelper.Error("TimeoutException," + actionExecutedContext.Exception.Message);
                result = new IStation.Dto.ApiResult(IStation.Dto.ApiResultCode.TimeOut, actionExecutedContext.Exception.Message);
            }
            else
            {
                IStation.LogHelper.WriteError(
                IStation.LogHelper.Error(
                    string.Format("UnknowException,Exception:{0},StackTrace:{1}",
                    actionExecutedContext.Exception.Message,
                    actionExecutedContext.Exception.StackTrace));
WebApi/Controllers/RiverWaterLevelDropController.cs
@@ -9,7 +9,7 @@
using System.Security.Permissions;
using System.Text;
using System.Web;
using System.Web.Http;
using System.Web.Http;
namespace IStation.WebApi.Controllers
{
@@ -20,8 +20,8 @@
    public class RiverWaterLevelDropController : ApiController
    {
        /// <summary>
        /// èŽ·å–
        /// </summary>
        /// èŽ·å–
        /// </summary>
        /// <returns></returns>
        [Route("GetList")]
        [HttpGet]
@@ -35,14 +35,14 @@
            }
            catch (Exception ex)
            {
                IStation.LogHelper.WriteError("RiverWaterLevelDrop GetList,ex:"+ ex.Message);
                IStation.LogHelper.Error("RiverWaterLevelDrop GetList,ex:" + ex.Message);
                return new IStation.Dto.ApiResult<List<Model.RiverWaterLevelDrop>>(null);
            }
        }
        /// <summary>
        /// ä¿å­˜
        /// </summary>
        /// ä¿å­˜
        /// </summary>
        /// <returns></returns>
        [Route("SaveList")]
        [HttpPost]
@@ -52,6 +52,5 @@
            return new IStation.Dto.ApiResult<bool>(true);
        }
    }
}
WebApi/Global.asax.cs
@@ -27,7 +27,7 @@
            DataFolderHelper.IsExeExcute = true;//独立运行
            IStation.LogHelper.Initial();
            // IStation.LogHelper.Initial();
            IStation.Common.AnaSetting.Initial();
            IStation.Common.ReservoirParasHelper.Initial();
@@ -36,8 +36,7 @@
            //初始化雪花Id
            //SnowflakeIdHelper.InitId(1);
            ScheduleTask.Initial();
        }
    }
}
}
WebApi/Logs/Tests/20240802.txt
WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
<Project>
  <PropertyGroup>
    <_PublishTargetUrl>D:\WorkData\IStation\ChEqCalc.V1.3\WebApi\bin\app.publish\</_PublishTargetUrl>
    <History>True|2024-07-24T02:24:40.0144852Z||;True|2024-07-24T10:20:59.9022005+08:00||;True|2024-07-09T13:15:49.8828357+08:00||;True|2024-07-09T13:10:26.0051847+08:00||;True|2024-07-03T13:16:09.3448505+08:00||;True|2024-06-17T20:21:42.5898298+08:00||;True|2024-06-13T10:29:57.3049924+08:00||;True|2024-05-29T22:55:40.8917081+08:00||;True|2024-05-29T22:53:51.8888824+08:00||;True|2024-05-29T21:24:14.2935182+08:00||;True|2024-05-29T21:15:26.4176230+08:00||;True|2024-05-29T20:21:23.2652363+08:00||;True|2024-05-20T22:19:25.6819845+08:00||;True|2024-05-20T22:17:16.3228686+08:00||;True|2024-05-20T22:09:43.8419388+08:00||;True|2024-05-20T20:47:30.7123496+08:00||;False|2024-05-20T20:46:44.8172532+08:00||;True|2024-05-17T09:19:12.0003732+08:00||;True|2024-05-13T16:34:26.1798389+08:00||;True|2024-05-13T15:25:51.2634210+08:00||;True|2024-05-13T15:06:06.6614778+08:00||;True|2024-05-13T14:05:16.2224051+08:00||;True|2024-04-12T11:21:29.5845897+08:00||;True|2024-04-12T11:05:57.4077528+08:00||;True|2024-04-12T09:48:11.6556767+08:00||;True|2024-04-07T14:56:11.5899311+08:00||;True|2024-03-13T13:43:30.5799100+08:00||;True|2024-03-13T13:36:27.8330849+08:00||;True|2024-03-13T13:28:52.4054628+08:00||;True|2024-03-13T13:09:48.3039075+08:00||;True|2024-03-13T13:06:59.6509464+08:00||;True|2024-03-13T12:56:44.3509382+08:00||;True|2024-03-13T12:43:04.0436634+08:00||;False|2024-03-13T12:42:49.1037427+08:00||;False|2024-03-13T12:42:25.1444775+08:00||;True|2024-03-13T12:34:29.4082591+08:00||;True|2024-03-13T12:32:39.1414007+08:00||;True|2024-03-13T12:27:13.0387359+08:00||;True|2024-03-13T12:24:15.2859267+08:00||;</History>
    <History>True|2024-08-02T11:04:12.2446801Z||;True|2024-07-24T10:24:40.0144852+08:00||;True|2024-07-24T10:20:59.9022005+08:00||;True|2024-07-09T13:15:49.8828357+08:00||;True|2024-07-09T13:10:26.0051847+08:00||;True|2024-07-03T13:16:09.3448505+08:00||;True|2024-06-17T20:21:42.5898298+08:00||;True|2024-06-13T10:29:57.3049924+08:00||;True|2024-05-29T22:55:40.8917081+08:00||;True|2024-05-29T22:53:51.8888824+08:00||;True|2024-05-29T21:24:14.2935182+08:00||;True|2024-05-29T21:15:26.4176230+08:00||;True|2024-05-29T20:21:23.2652363+08:00||;True|2024-05-20T22:19:25.6819845+08:00||;True|2024-05-20T22:17:16.3228686+08:00||;True|2024-05-20T22:09:43.8419388+08:00||;True|2024-05-20T20:47:30.7123496+08:00||;False|2024-05-20T20:46:44.8172532+08:00||;True|2024-05-17T09:19:12.0003732+08:00||;True|2024-05-13T16:34:26.1798389+08:00||;True|2024-05-13T15:25:51.2634210+08:00||;True|2024-05-13T15:06:06.6614778+08:00||;True|2024-05-13T14:05:16.2224051+08:00||;True|2024-04-12T11:21:29.5845897+08:00||;True|2024-04-12T11:05:57.4077528+08:00||;True|2024-04-12T09:48:11.6556767+08:00||;True|2024-04-07T14:56:11.5899311+08:00||;True|2024-03-13T13:43:30.5799100+08:00||;True|2024-03-13T13:36:27.8330849+08:00||;True|2024-03-13T13:28:52.4054628+08:00||;True|2024-03-13T13:09:48.3039075+08:00||;True|2024-03-13T13:06:59.6509464+08:00||;True|2024-03-13T12:56:44.3509382+08:00||;True|2024-03-13T12:43:04.0436634+08:00||;False|2024-03-13T12:42:49.1037427+08:00||;False|2024-03-13T12:42:25.1444775+08:00||;True|2024-03-13T12:34:29.4082591+08:00||;True|2024-03-13T12:32:39.1414007+08:00||;True|2024-03-13T12:27:13.0387359+08:00||;True|2024-03-13T12:24:15.2859267+08:00||;</History>
    <LastFailureDetails />
  </PropertyGroup>
  <ItemGroup>
@@ -100,16 +100,16 @@
      <publishTime>04/17/2020 04:38:56</publishTime>
    </File>
    <File Include="bin/IStation.AutoMapper.dll">
      <publishTime>07/03/2024 13:16:04</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.AutoMapper.pdb">
      <publishTime>07/03/2024 13:16:04</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Calc.Core.dll">
      <publishTime>07/24/2024 10:24:37</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.Calc.Core.pdb">
      <publishTime>07/24/2024 10:24:37</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.Calc.ErQu.dll">
      <publishTime>03/13/2024 12:32:32</publishTime>
@@ -118,61 +118,61 @@
      <publishTime>03/13/2024 12:32:32</publishTime>
    </File>
    <File Include="bin/IStation.Calc.Model.dll">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.Calc.Model.pdb">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.Core.dll">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Core.pdb">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.DAL.Paras.dll">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.DAL.Paras.pdb">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.DAL.Project.dll">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.DAL.Project.dll.config">
      <publishTime>04/29/2024 13:50:24</publishTime>
      <publishTime>07/25/2024 11:43:38</publishTime>
    </File>
    <File Include="bin/IStation.DAL.Project.pdb">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.Entity.Basic.dll">
      <publishTime>07/03/2024 13:17:29</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.Entity.Basic.pdb">
      <publishTime>07/03/2024 13:17:29</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.Entity.Core.dll">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Entity.Core.pdb">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Log.dll">
      <publishTime>07/24/2024 10:24:35</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.Log.pdb">
      <publishTime>07/24/2024 10:24:35</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.MemoryCache.dll">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.MemoryCache.pdb">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Model.Basic.dll">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.Model.Basic.pdb">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.Model.Config.dll">
      <publishTime>03/13/2024 12:32:32</publishTime>
@@ -181,58 +181,58 @@
      <publishTime>03/13/2024 12:32:32</publishTime>
    </File>
    <File Include="bin/IStation.Model.Core.dll">
      <publishTime>07/24/2024 10:24:35</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.Model.Core.pdb">
      <publishTime>07/24/2024 10:24:35</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.Model.Curve.dll">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.Model.Curve.pdb">
      <publishTime>07/24/2024 10:24:36</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.Model.Monitor.dll">
      <publishTime>07/03/2024 13:16:04</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Model.Monitor.pdb">
      <publishTime>07/03/2024 13:16:04</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Newtonsoft.dll">
      <publishTime>07/24/2024 10:24:34</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.Newtonsoft.pdb">
      <publishTime>07/24/2024 10:24:34</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.Settings.dll">
      <publishTime>07/24/2024 10:24:35</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.Settings.pdb">
      <publishTime>07/24/2024 10:24:35</publishTime>
      <publishTime>08/02/2024 19:04:08</publishTime>
    </File>
    <File Include="bin/IStation.SnowflakeId.dll">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.SnowflakeId.pdb">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Unit.dll">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Unit.pdb">
      <publishTime>07/03/2024 13:16:05</publishTime>
      <publishTime>08/02/2024 17:48:00</publishTime>
    </File>
    <File Include="bin/IStation.Untity.dll">
      <publishTime>07/24/2024 10:24:35</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.Untity.pdb">
      <publishTime>07/24/2024 10:24:35</publishTime>
      <publishTime>08/02/2024 19:04:09</publishTime>
    </File>
    <File Include="bin/IStation.WebApi.dll">
      <publishTime>07/24/2024 10:24:38</publishTime>
      <publishTime>08/02/2024 19:04:10</publishTime>
    </File>
    <File Include="bin/IStation.WebApi.pdb">
      <publishTime>07/24/2024 10:24:38</publishTime>
      <publishTime>08/02/2024 19:04:10</publishTime>
    </File>
    <File Include="bin/log4net.dll">
      <publishTime>03/25/2024 09:57:26</publishTime>
@@ -406,7 +406,7 @@
      <publishTime>08/08/2018 20:18:16</publishTime>
    </File>
    <File Include="bin/SqlSugar.dll">
      <publishTime>09/14/2022 20:23:50</publishTime>
      <publishTime>07/16/2024 22:13:52</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>07/08/2017 09:30:56</publishTime>
@@ -523,7 +523,7 @@
      <publishTime>03/25/2024 09:57:27</publishTime>
    </File>
    <File Include="Content/bootstrap-grid.rtl.min.css.map">
      <publishTime>03/25/2024 09:57:27</publishTime>
      <publishTime>07/24/2024 13:38:53</publishTime>
    </File>
    <File Include="Content/bootstrap-reboot.css">
      <publishTime>03/25/2024 09:57:27</publishTime>
@@ -532,13 +532,13 @@
      <publishTime>03/25/2024 09:57:27</publishTime>
    </File>
    <File Include="Content/bootstrap-reboot.min.css">
      <publishTime>03/25/2024 09:57:27</publishTime>
      <publishTime>07/24/2024 13:38:53</publishTime>
    </File>
    <File Include="Content/bootstrap-reboot.min.css.map">
      <publishTime>03/25/2024 09:57:27</publishTime>
      <publishTime>07/24/2024 13:38:53</publishTime>
    </File>
    <File Include="Content/bootstrap-reboot.rtl.css">
      <publishTime>03/25/2024 09:57:27</publishTime>
      <publishTime>07/24/2024 13:38:53</publishTime>
    </File>
    <File Include="Content/bootstrap-reboot.rtl.css.map">
      <publishTime>03/25/2024 09:57:27</publishTime>
WebApi/ÖÚÒãµ÷¶È/ZyProjectHelper.cs
@@ -1,26 +1,23 @@

using IStation.Model;
using IStation.Model;
using IStation.ZyDto;
using Microsoft.Ajax.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.WebSockets;
using System.Net.WebSockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Threading.Tasks;
namespace IStation
{
    /// <summary>
    /// è°ƒåº¦æ–¹æ¡ˆ(众毅)
    /// </summary>
    /// </summary>
    internal class ZyProjectHelper
    {
        // static string _url_prj = "ws://192.168.201.17:8001";
        public static string _url_prj = "ws://192.168.3.152:8001";
        /// <summary>
        /// æäº¤è°ƒåº¦é¡¹ç›®
@@ -40,7 +37,7 @@
                return "currentViewPrj is null";
            }
            IStation.ZyDto.SubmitPrj dto_prj = new ZyDto.SubmitPrj();
            if (string.IsNullOrEmpty(currentViewPrj.ID))
            {
                var time = DateTime.Now;
@@ -49,7 +46,7 @@
            dto_prj.schemeID = currentViewPrj.ID;
            dto_prj.Day = currentViewPrj.StartTime.ToString("yyyy-MM-dd");
            dto_prj.StartTime  = currentViewPrj.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
            dto_prj.StartTime = currentViewPrj.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
            dto_prj.EndTime = currentViewPrj.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
            dto_prj.FlowTotalIn = Math.Round(currentViewPrj.SumFlow, 0);
@@ -82,7 +79,7 @@
            try
            {
                List<byte> outputBytes = new List<byte>();//全部消息容器
                var buffer = new byte[1024 * 4];//缓冲区
                var buffer = new byte[1024 * 4];//缓冲区
                var result = await ws.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); //监听Socket信息
                while (!result.CloseStatus.HasValue)  //是否关闭
                {
@@ -108,11 +105,10 @@
                    }
                    // result = await ws.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);//继续监听Socket信息
                }
            }
            catch (Exception ex)
            {
                IStation.LogHelper.WriteError("Error:101", ex);
                IStation.LogHelper.Error("Error:101", ex);
                return "ex:" + ex.Message;
            }
            finally
@@ -124,7 +120,7 @@
                }
                catch (Exception ex)
                {
                    IStation.LogHelper.WriteError("Error:111", ex);
                    IStation.LogHelper.Error("Error:111", ex);
                    // return "ex:" + ex.Message;
                }
                ws.Abort();
@@ -132,7 +128,6 @@
            }
            return null;
        }
        /// <summary>
        /// æäº¤è°ƒåº¦é¡¹ç›®
@@ -194,7 +189,7 @@
            try
            {
                List<byte> outputBytes = new List<byte>();//全部消息容器
                var buffer = new byte[1024 * 4];//缓冲区
                var buffer = new byte[1024 * 4];//缓冲区
                var result = await ws.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); //监听Socket信息
                while (!result.CloseStatus.HasValue)  //是否关闭
                {
@@ -220,11 +215,10 @@
                    }
                    // result = await ws.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);//继续监听Socket信息
                }
            }
            catch (Exception ex)
            {
                IStation.LogHelper.WriteError("Error:101", ex);
                IStation.LogHelper.Error("Error:101", ex);
                return "ex:" + ex.Message;
            }
            finally
@@ -236,7 +230,7 @@
                }
                catch (Exception ex)
                {
                    IStation.LogHelper.WriteError("Error:111", ex);
                    IStation.LogHelper.Error("Error:111", ex);
                    // return "ex:" + ex.Message;
                }
                ws.Abort();
@@ -244,6 +238,5 @@
            }
            return null;
        }
    }
}