# 必要配置

# 数据库连接配置

支持多类型、多个数据库访问,同时支持一主多从数据库读写分离。数据库连接配置在appsettings.jsonDbConnections中,必须至少配置一个主数据库MasterDB。如下:

"DbConnections": {
    "DefaultDb": {
        "MasterDB": {
            "ConnectionString": "Server=(local);Database=YBNF;User id=sa; password=Yuebon!23;MultipleActiveResultSets=True;", //主库
            "DatabaseType": "SqlServer" //数据库类型
        },
        "ReadDb": []
    }
}

其中:

1、MassterDB为主数据库配置信息,在不开启读写分离的情况下,仅配置该参数即可。需要注意DatabaseType指定数据库类型,目前支持的数据库类型值有MySqlSqlServerOracleSQLiteNpgsql请注意区分大小写

# 服务器缓存设置

系统采用Redis和net自带的MemoryCache。

可以根据自己需要,扩展Redis等缓存。需要引用Microsoft.Extensions.Caching.Redis和StackExchange.Redis两个Redis包。

在appsettings.json添加配置

"CacheProvider": {
    "UseRedis": true,
    "Redis_ConnectionString": "127.0.0.1:6379,allowAdmin=true,password=123456,defaultdatabase=0",
    "Redis_InstanceName": "yuebon_redis_"
  }

我们写一个类,来获取配置几个配置,CacheProvider说明:

1)、UseRedis:是否使用Redis缓存,不使用设置false即可;

2)、Redis_ConnectionString:Redis连接,按示例参数进行配置,allowadmin、password、defaultdatabase都需要,其他配置参数请查阅相关文档;

3)、Redis_InstanceName:Redis实例名称

# 跨域设置

跨域访问在appsettings.json中设置AllowOrigins值,用英文逗号“,”隔开,不要以斜杆“/”结束

"AllowOrigins": "http://localhost,http://192.168.1.106,http://netvue.ts.yuebon.com",

前后端分离时前台调用后台系统时就是跨域访问,此处配置允许前台访问的请求地址。第三方网站调用本系统 webapi 也要配置,否则一样不能跨域访问。

Startup.cs代码

目前源码中默认为测试环境配置,允许所有跨域访问,配置如下:

//允许所有跨域访问,测试用
services.AddCors(options => options.AddPolicy("yuebonCors",
     policy => policy.WithOrigins("*").AllowAnyHeader().AllowAnyMethod()));

正式环境建议如下配置:

//全局设置跨域访问
services.AddCors(options => options.AddPolicy("yuebonCors",
policy => policy.WithOrigins(Configuration.GetSection("AppSetting:AllowOrigins").Value.Split(',', StringSplitOptions.RemoveEmptyEntries))
.AllowAnyHeader()
.AllowAnyMethod()));
  • IIS部署中部分会出现method为delete时跨域问题?

请在web.config做如下配置:

<modules>
   <remove name="WebDAVModule" />
</modules>
<handlers>
   <remove name="WebDAV" />
</handlers>

如遇到问题到Issues(opens new window) 反馈