我正在寻找一种动态生成 Web api 并在运行时添加它们的方法(在初始化自托管服务器之后)。
基本上这个想法是: 1. 创建一个 selfhost owin 服务器,服务于静态/已经定义的控制器(web apis)-> 这部分没问题
稍后,我想动态生成一个新控制器并以某种方式将其添加到服务器,以便客户端可以向它发送请求。-> 有没有办法做到这一点?我知道我可以动态构建一个控制器并将其添加到服务器之前,它被初始化为服务现有的 Web api(使用 CustomAssemblyResolver)。
现在可能需要更新现有的控制器。我想重新生成一个现有控制器并更新服务器以使用新定义(可能是参数更改、api 名称更改等)有什么办法吗?我们可以在不停止所有控制器的情况下回收控制器吗?如果以某种方式可以支持此功能,是否意味着该服务将在一段时间内不可用(直到更新完成)。
理想情况下,它会像 IIS 中托管的 Web 服务一样工作。如果 Web 服务定义在 2 个请求之间发生变化。第一个请求转到旧定义,第二个请求透明地指向新定义。服务没有中断。
有任何想法吗?
提前致谢