我有一个WebAPI / MVC应用程序,该应用程序使用嵌入式控制器和视图加载单独的插件程序集,并将其放入MVC PartManager。这可以正常工作,但现在我希望能够在运行时交换这些部件而无需重新启动服务器。我可以在旧零件上使用PartManager.Remove并在新零件上添加,但这似乎还不够。调用控制器时,我仍会在旧部分收到旧控制器的响应。
除了在PartManager中添加零件之外,我还向Configure上的RazorViewEngineOptions中添加了EmbeddedFileProvider,因为仅添加AssemblyPart似乎不足以让Razor引擎找到视图(不确定我是否正确执行此操作)。但是我不知道我是否可以在运行时替换此Razor-fileprovider?我还没有找到办法。
无论如何,执行所有这些操作的首选方式是什么,我的意思是使用控制器,视图和静态资源加载/替换dll。我是否在正确的轨道上?
我认为Razor视图引擎仅配置一次,因此您以后不能更改它们。
你可以做的是
这在Scott Hanselsman的博客文章的CUSTOMMOBILEVIEWENGINE部分中进行了描述。他正在做的是针对不同的设备使用不同的视图引擎,但是您可以根据自己的目的调整该技术。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句