wanshenmean
2026-03-30 782aceccc76b0f2a2da18fd61816211d821bca72
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
{
  "urls": "http://*:9292", //web服务端口,如果用IIS部署,把这个去掉
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Information",
        "Microsoft.AspNetCore": "Warning",
        "Microsoft.AspNetCore.Routing": "Warning",
        "Microsoft.AspNetCore.Mvc": "Warning",
        "Microsoft.AspNetCore.Mvc.Infrastructure": "Warning",
        "Microsoft.AspNetCore.Mvc.Filters": "Warning",
        "Microsoft.AspNetCore.Mvc.ModelBinding": "Warning",
        "Microsoft.EntityFrameworkCore": "Warning"
      }
    }
  },
  "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等
    }
  }
}