wanshenmean
2026-03-19 c493779a8504fe1eb548c865ff268a7f7436ec01
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
{
  "urls": "http://*:9292", //web服务端口,如果用IIS部署,把这个去掉
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType,dispatchId",
  "AllowedHosts": "*",
  "ConnectionStringsEncryption": false,
  "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
  //1.MySql
  //2.SqlServer
  //3.Sqlite
  //4.Oracle
  //5.PostgreSQL
  "DBType": "SqlServer",
  //连接字符串
  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_ShanMei;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
 
  //跨域
  "Cors": {
    "PolicyName": "CorsIpAccess", //策略名称
    "EnableAllIPs": false, //当为true时,开放所有IP均可访问。
    // 支持多个域名端口,注意端口号后不要带/斜杆:比如localhost:8000/,是错的
    // 注意,http://127.0.0.1:1818 和 http://localhost:1818 是不一样的
    "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://localhost:8081"
  },
  "LocalLogConfig": {
    "LogLevel": "DEBUG", //日志级别 DEBUG,INFO,WARN,ERROR,FATAL
    "LogFileSize": 10, //单个日志文件大小,单位MB
    "LogFileCount": 300, //日志文件数量
    "EnableConsoleOutput": false, //是否输出到控制台
    "EnableFloderByLevel": true //是否按日志级别生成不同的文件夹
  },
  "ApiLogIgnore": "", //记录日志时,忽略的API名称,多个用逗号分隔,配置的不记录到数据库中
  "ApiName": "WIDESEAWCS",
  "ExpMinutes": 120,
  "QuartzJobAutoStart": true,
  "DBSeedEnable": false,
  "QuartzDBSeedEnable": false,
  "LogDeubgEnable": false, //是否记录调试日志
  "PrintSql": false, //打印SQL语句
  "LogAOPEnable": false, //是否记录AOP日志
  "WebSocketEnable": true, //是否开启WebSocket服务
  "WebSocketPort": 9296, //WebSocket服务端口
  "SocketServer": {
    "Enabled": true, //是否启用Socket服务器
    "Port": 2000, //监听端口
    "IpAddress": "0.0.0.0", //监听地址,
    "Backlog": 1000, //最大连接数 
    "EncodingName": "utf-8", //编码方式
    "AutoDetectEncoding": true, //是否自动检测编码
    "IdleTimeoutSeconds": 0, //空闲超时时间,单位秒,0表示不超时
    "EnableHeartbeat": true, //是否启用心跳检测
    "LogFilePath": "socketserver.log" //日志文件路径
  },
  "CheckPalletPositions": [
    {
      "Code": "11068",
      "WarehouseId": 1
    }
  ],
  "RobotTaskAddressRules": {
    "AddressMap": { // 接口类型地址映射
      "11001": "Change",
      "11010": "Change",
      "10010": "Change",
      "10030": "Change",
      "11068": "Group",
      "110681": "Split"
    },
    "AddressRoadwayMap": { // 对应设备地址映射
      "11001": "换盘机械手",
      "11010": "换盘机械手",
      "11068": "注液组盘机械手",
      "10010": "换盘机械手",
      "10030": "换盘机械手"
    },
    "AddressSourceLineNoMap": { // 对应输送线编号地址映射
      "11001": "10010",
      "11010": "10030",
      "10010": "11001",
      "10030": "11010"
    }
  },
  "RedisConfig": {
    "Enabled": true, //是否启用Redis,false时仅使用内存缓存
    "ConnectionString": "127.0.0.1:6379,password=P@ssw0rd,defaultDatabase=0,connectTimeout=5000,abortConnect=false", //Redis连接字符串
    "InstanceName": "WIDESEAWCS:", //实例名称,用于区分不同应用
    "DefaultDatabase": 0, //默认数据库索引(0-15)
    "EnableSentinel": false, //是否启用哨兵模式
    "SentinelMasterName": "mymaster", //哨兵主节点名称
    "SentinelEndpoints": [], //哨兵节点地址列表,如 ["sentinel1:26379","sentinel2:26379"]
    "PoolSize": 10, //连接池大小
    "ConnectRetry": 3, //连接失败重试次数
    "SerializerType": "Newtonsoft", //序列化方式:Newtonsoft
    "FallbackToMemory": true, //Redis不可用时是否降级到内存缓存
    "KeyPrefix": "wcs:", //全局Key前缀,用于隔离不同系统的数据
    "EnableL1Cache": false, //是否启用L1内存缓存层。禁用后只使用Redis,适用于需要外部修改Redis数据的场景
    "EnableAutoSync": false, //是否启用Redis到内存缓存的自动同步
    "SyncIntervalSeconds": 30, //自动同步间隔时间(秒),建议30-60秒
    "SyncBatchSize": 1000, //同步时单次批量获取的Redis key数量上限
    "SyncExcludePrefixes": [ "wcs:Code:SocketDevices:" ], //排除设备状态key不参与自动同步(防止覆盖本地修改)
    "Monitoring": {
      "Enabled": false, //是否启用监控
      "SlowLogThresholdMs": 100, //慢查询阈值(毫秒)
      "HealthCheckIntervalSeconds": 30 //健康检查间隔(秒)
    },
    "Eviction": {
      "DefaultExpirationSeconds": 3600, //默认缓存过期时间(秒)
      "MaxMemoryPolicy": "allkeys-lru" //内存淘汰策略:allkeys-lru, volatile-lru, noeviction等
    }
  }
}