Asp.net mvc 在运行时替换MVC应用程序部件和Razor文件提供程序
我有一个WebAPI/MVC应用程序,它加载带有嵌入式控制器和视图的独立插件程序集,并将它们放入MVC PartManager。这很好,但现在我希望能够在运行时交换这些部件,而无需重新启动服务器。我可以使用零件管理器。删除旧零件并添加新零件,但这似乎不够。当调用控制器时,我仍然从旧部分中的旧控制器得到响应 除了在PartManager中添加部件外,我还在Configure上的RazorViewEngineOptions中添加了一个EmbeddedFileProvider,因为仅仅添加一个AssemblyPart似乎不足以让Razor引擎找到视图(我不确定是否正确)。但我不知道是否可以在运行时替换这个Razor文件提供程序?我还没找到办法Asp.net mvc 在运行时替换MVC应用程序部件和Razor文件提供程序,asp.net-mvc,razor,Asp.net Mvc,Razor,我有一个WebAPI/MVC应用程序,它加载带有嵌入式控制器和视图的独立插件程序集,并将它们放入MVC PartManager。这很好,但现在我希望能够在运行时交换这些部件,而无需重新启动服务器。我可以使用零件管理器。删除旧零件并添加新零件,但这似乎不够。当调用控制器时,我仍然从旧部分中的旧控制器得到响应 除了在PartManager中添加部件外,我还在Configure上的RazorViewEngineOptions中添加了一个EmbeddedFileProvider,因为仅仅添加一个Asse
无论如何,做这一切的首选方法是什么,我的意思是用控制器、视图和静态资源加载/替换DLL。我的思路是否正确?我认为Razor view引擎只配置了一次,因此您以后无法更改它们 你能做的就是
- 运行多个视图引擎
- 根据URL在它们之间进行选择(与您的情况相同,您希望为一个控制器使用不同的引擎)