在运行时替换MVC应用程序部分和Razor文件提供程序

安德里亚斯·齐塔(Andreas Zita)

我有一个WebAPI / MVC应用程序,该应用程序使用嵌入式控制器和视图加载单独的插件程序集,并将其放入MVC PartManager。这可以正常工作,但现在我希望能够在运行时交换这些部件而无需重新启动服务器。我可以在旧零件上使用PartManager.Remove并在新零件上添加,但这似乎还不够。调用控制器时,我仍会在旧部分收到旧控制器的响应。

除了在PartManager中添加零件之外,我还向Configure上的RazorViewEngineOptions中添加了EmbeddedFileProvider,因为仅添加AssemblyPart似乎不足以让Razor引擎找到视图(不确定我是否正确执行此操作)。但是我不知道我是否可以在运行时替换此Razor-fileprovider?我还没有找到办法。

无论如何,执行所有这些操作的首选方式是什么,我的意思是使用控制器,视图和静态资源加载/替换dll。我是否在正确的轨道上?

用户名

我认为Razor视图引擎仅配置一次,因此您以后不能更改它们。

可以做的是

  • 有多个视图引擎在运行,
  • 根据URL在它们之间进行选择(例如,您要为一个控制器使用其他引擎)。

这在Scott Hanselsman的博客文章的CUSTOMMOBILEVIEWENGINE部分中进行了描述他正在做的是针对不同的设备使用不同的视图引擎,但是您可以根据自己的目的调整该技术。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

更新到Android 3.6工作室后,在运行时应用程序崩溃

如何编写可以在运行时进行自我更新的Java应用程序?

如何在运行时获取Java应用程序的真实路径?

如何在运行时使用应用程序主机和端口

使用MSVC编译的多线程应用程序在运行时失败

在应用程序运行时替换Realm文件

在运行时更改Polymer应用程序的主题

在运行时更改应用程序主题

更改compileSdkVersion是否会影响应用程序在运行时的行为?

如何通过Spring Boot应用程序和Spock测试在运行时更改服务器端口

使用应用程序部署JSON文件并在运行时访问它

Quarkus:如何在应用程序外部或在运行时定义和读取属性文件(或application.properties)?

blazor wasm应用程序在运行时的程序集构建版本

Web应用程序:在运行时删除文件

运行时PFQuery和PFRelation崩溃应用程序

如何在运行时更改android应用程序的名称和图标?

在运行时更改应用程序语言

OSX使命令行应用程序在运行时在Dock中显示图标

在应用程序运行时更改属性文件

在运行时更改应用程序MainForm

简单的CefSharp应用程序在运行时丢失文件

GUI应用程序和测量运行时间

如何在应用程序仍在运行时刷新它(活动)?

如何在运行时为独立应用程序提供可用的 jar?

在运行时设计 Angular 应用程序的样式

运行时应用程序

在运行时检测 MSIX 打包的应用程序

在运行时存储和创建新的 WPF 应用程序设置

如何在运行时为 React 应用程序提供安装特定配置?