{
  "AllowedHosts": "*",
  "Logging": {
    "LogLevel": {
      "Default": "Information", //加入Default否则log4net本地写入不了日志
      "Admin.Core.Extensions.ApiResponseHandler": "Error"
    },
    "Debug": {
      "LogLevel": {
        "Default": "Warning"
      }
    },
    "Console": {
      "LogLevel": {
        "Default": "Warning",
        "Microsoft.Hosting.Lifetime": "Debug"
      }
    },
    "Log4Net": {
      "Name": "Admin.Core"
    }
  },
  "AppSettings": {
    "RedisCachingAOP": {
      "Enabled": false,
      "ConnectionString": ""
    },
    "MemoryCachingAOP": {
      "Enabled": false
    },
    "LogAOP": {
      "Enabled": false
    },
    "TranAOP": {
      "Enabled": false
    },
    "SqlAOP": {
      "Enabled": false,
      "OutToLogFile": {
        "Enabled": false
      },
      "OutToConsole": {
        "Enabled": false
      }
    },
    "FileRootPath": "/file/",
    "Date": "2018-08-28",
    "Author": "Admin.Core",
    "UseLoadTest": true,
    "CacheTimeOut": 60, //服务器本地缓存过期时间:分钟
    "ApiRoot": "http://localhost:55014"
  },
  "Audience": {
    "Secret": "dk6Vv3oTuo2OMU18w86E3j11DtM7RUX5icQtA0DCKuhYDRUqBLIiL", //不要太短,16位+
    "SecretFile": "E:\\my-file\\admin.core.audience.secret.txt", //安全,内容就是Secret
    "Issuer": "Admin.Core",
    "Audience": "wr",
    "Expiration": "6000000" //接口的过期时间
  },

  // 请配置MainDB为你想要的主库的ConnId值,并设置对应的Enabled为true;
  // *** 单库操作,把 MutiDBEnabled 设为false ***;
  // *** 多库操作,把 MutiDBEnabled 设为true,其他的从库Enabled也为true **;
  // 具体配置看视频:https://www.bilibili.com/video/BV1BJ411B7mn?p=6
  "MainDB": "AUCMA_SCADA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
  "MutiDBEnabled": true, //是否开启多库模式
  "CQRSEnabled": false, //是否开启读写分离模式,必须是单库模式,且数据库类型一致,比如都是SqlServer
  "DBS": [
    /*
      对应下边的 DBType
      MySql = 0,
      SqlServer = 1,
      Sqlite = 2,
      Oracle = 3,
      PostgreSQL = 4,
      Dm = 5,//达梦
      Kdbndp = 6,//人大金仓
    */
    {
      "ConnId": "AUCMA_SCADA",
      "DBType": 3,
      "Enabled": true,
      "HitRate": 50,
      //"Connection": "Data Source=localhost;Initial Catalog=Hsdb;User ID=sa;Password=sa;Integrated Security=false;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
      "Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=175.27.215.92)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=helowin)));User ID=aucma_scada;Password=aucma;",
      "ProviderName": "System.Data.SqlClient"
    },
    {
      "ConnId": "AUCMA_MES",
      "DBType": 3,
      "Enabled": true,
      "HitRate": 40,
      "Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=175.27.215.92)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=helowin)));User ID=aucma_mes;Password=aucma;",
      "ProviderName": "System.Data.SqlClient"
    }
  ],
  "QuartzNetJob": [
    {
      "ID": 1,
      "Name": "TestTask",
      "JobGroup": "DEFAULT",
      "Cron": "*/1 * * * * ?",
      "AssemblyName": "Admin.Core.Tasks",
      "ClassName": "Job_Admin_Quartz",
      "Remark": "执行任务调度系统",
      "RunTimes": 3881,
      "BeginTime": "2023-04-23 11:08:50.000",
      "EndTime": "2224-08-06 16:45:30.000",
      "TriggerType": 1,
      "IntervalSecond": 1,
      "CycleRunTimes": 1,
      "IsStart": true,
      "JobParams": null,
      "DelFlag": false,
      "CreateBy": "admin",
      "CreateTime": "2023-04-23 11:09:22.0000000",
      "UpdateBy": "admin",
      "UpdateTime": "2023-08-07 16:45:45.0530000"
    }
  ],
  "StoreInfo": {
    "BeforeStoreCode": "PBSCK-001",
    "AfterStoreCode": "FPJCK-001"
  },
  "EventBus": {
    "Enabled": true,
    "SubscriptionClientName": "Admin.Core"
  },
  "Middleware": {
    "QuartzNetJob": {
      "Enabled": true
    },
    "Scanner": { //扫码器
      "Enabled": true
    },
    "Melsec": {
      "ConString": "10.10.92.30",
      "Port": 6000,
      "Enabled": true
    }
  },
  "PLCServer": [
    {
      "Id": 1,
      "EquipName": "泡前库Plc",
      "IP": "127.0.0.1",
      "Port": 6000
    }
  ],
  "IpRateLimiting": {
    "EnableEndpointRateLimiting": false, //False: globally executed, true: executed for each
    "StackBlockedRequests": false, //False: Number of rejections should be recorded on another counter
    "RealIpHeader": "X-Real-IP",
    "ClientIdHeader": "X-ClientId",
    "IpWhitelist": [], //白名单
    "EndpointWhitelist": [ "get:/api/xxx", "*:/api/yyy" ],
    "ClientWhitelist": [ "dev-client-1", "dev-client-2" ],
    "QuotaExceededResponse": {
      "Content": "{{\"status\":429,\"msg\":\"访问过于频繁,请稍后重试\",\"success\":false}}",
      "ContentType": "application/json",
      "StatusCode": 429
    },
    "HttpStatusCode": 429, //返回状态码
    "GeneralRules": [ //api规则,结尾一定要带*
      {
        "Endpoint": "*:/api/Admin*",
        "Period": "1m",
        "Limit": 20
      },
      {
        "Endpoint": "*/api/*",
        "Period": "1s",
        "Limit": 3
      },
      {
        "Endpoint": "*/api/*",
        "Period": "1m",
        "Limit": 30
      },
      {
        "Endpoint": "*/api/*",
        "Period": "12h",
        "Limit": 500
      }
    ]
  },
  "LogFiedOutPutConfigs": {
    "tcpAddressHost": "", // 输出elk的tcp连接地址
    "tcpAddressPort": 0, // 输出elk的tcp端口号
    "ConfigsInfo": [ // 配置的输出elk节点内容 常用语动态标识
      {
        "FiedName": "applicationName",
        "FiedValue": "Admin.Core.Api"
      }
    ]
  }
}