现在有一个需求是每个月需要更换一个数据库连接,但是又不能每个月都重启服务,所以需要对数据库名进行动态变化.
例如:原数据库名为aaa_201807到下个月时需要变成aaa_201808.求解怎么实现.......

解决方案 »

  1.   

    https://blog.csdn.net/rex1129/article/details/78611396ConnectionString还是字符串,在建立数据库连接之前替换你需要替换的部分就好了
      

  2.   

    这个跟.net core没有关系,只是动态的根据当前日期拼接字符串(aaa_201808)就可以了。
      

  3.   


                services.AddDbContext<ApplicationDbContext>(options =>
                    options.UseSqlServer(Configuration.GetConnectionString($"Data Source=.;Initial Catalog=aaa_{DateTime.Now.ToString("yyyyMM")};Trusted_Connection=True;MultipleActiveResultSets=true")));
      

  4.   

    上面错了~
    复制少删除点东西services.AddDbContext<ApplicationDbContext>(options =>
      options.UseSqlServer($"Data Source=.;Initial Catalog=aaa_{DateTime.Now.ToString("yyyyMM")};Trusted_Connection=True;MultipleActiveResultSets=true"));
      

  5.   

    你的配置文件不能随时上传——覆盖啊?你的网站应用不能随时上传——覆盖啊?还重启 Web 服务干什么?
      

  6.   

    在运行中,你的位置文件不能改变,这就是咄咄怪事了。这种设计就不行了。即使我们的服务器系统(需要稳定性)、即使是大量配置信息都从配置文件读取到自定义的缓存里,也会自动根据配置文件的更新而自动清除缓存,并且随后读取配置信息时自动读取最新的配置。而 .net 默认的 ConfigurationManagment 框架,本来就是能自动感知配置文件更改的。不用重启什么服务啊!