在我的项目中需要在运行时添加一些插件,在添加插件调用HttpRuntime.UnloadAppDomain()
后,清除我项目中的所有缓存和静态变量。当在新插件中使用新控制器时,MVC框架无法找到新的控制器类型,也无法实例化所请求的控制器。
调试此问题时,我发现" ControllerTypeCache" MVC框架使用它来缓存控制器类型。应用程序启动时ControllerTypeCache填充。我需要在运行时重置ControllerTypeCache。
看起来强制重启应用程序会导致更新安装了最新插件的ControllerTypeCache。
有没有办法在运行时重启此缓存或Web应用程序?