试下:reloadOnChange: 当Json配置文件发生变化时,重新加载
public Startup(IHostingEnvironment env)
{
var configurationBuilder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("routes.json", optional: false, reloadOnChange: true);
Configuration = configurationBuilder.Build();
}
这个其实是行不通的 , 在.NetCore3.1后使用的Endpoint路由规则 , 在程序启动的时候已经加载了路由 , 监听文件这种亲测确实没啥效果 , 如果是读取配置的话 , 那么在修改的时候是可以触发内存更新的 , 我的需求是路由已经创建好了 , 如何去刷新路由 . 不过还是十分感谢您的回答
@kaolasz:
看下动态路由,是不是可以满足,更新路由表
https://www.cnblogs.com/jionsoft/p/12115417.html
@大志若愚: 我也在研究这块的东西 ,
ASP.NET Core 3.0中使用动态控制器路由 - LamondLu - 博客园 (cnblogs.com)
这个文章也写得比较清晰 , 但是我有个问题是 , 没搞清楚如果我要拿到路由上的所有信息应该是怎么做 , 比如我需要自定义Controller,Action , 以及一些RouteData
@kaolasz:
路由表不就是一个集合吗,可以新增、修改、删除路由表中的数据
@大志若愚: 已经用 MapDynamicControllerRoute 搞定了 , 谢谢你的回复 , 加速了问题的解决 .
你修改了json,不会重新启动服务吗?不是就跟着改了吗
问题就在如何在程序内部重启自己呢 , 一般关闭自己可以强制关闭 , 但是开启的时候不会自行开启 , 需要借助第三方管理进程去运行 , 之前也想过此类方案 , 如果有好的方式可以在程序内部重启那也是一种解决方案 , 如果您这边有相关的信息 , 还请不吝赐教