Mono编译器即服务在运行时重新编译ASP.NET MVC站点

本文关键字:编译 ASP NET 站点 MVC 新编译 编译器 服务 运行时 Mono | 更新日期: 2023-09-27 17:55:36

我发现了一个有趣的链接,谈论使用Mono编译器作为服务在运行时动态编译控制器类:

http://blog.fusonic.net/2011/04/scripting-asp-net-mvc-controllers-at-runtime/

但它只适用于控制器。有人能说明是否有可能在运行时对整个项目进行评估吗?尽管这意味着更少的编译时错误检查,但它仍然可以极大地提高生产力。

Mono编译器即服务在运行时重新编译ASP.NET MVC站点

如果您将项目转换为网站项目类型(此处描述了如何执行(,则可以动态编译放入App_Code文件夹中的所有内容(包括控制器、自定义HTML和Url帮助程序等(,而无需将编译器作为服务。

缺点是不能使用业务逻辑或数据库访问库动态编译引用库。还有一个明显的性能缺陷,IIS应用程序预热模块可以部分消除这个缺陷。

一些人认为,在生产服务器上部署所有源代码存在安全问题,但脚本世界(Ruby on rails、python web framworks、php、node.js等(似乎并不太担心这个问题,而且只要你不混淆dll,你的智能属性的安全性就没有太大区别。