2011-05-10 50 views
0

我发现了一个有趣的链接谈论使用单声道编译器作为服务在运行时动态编译器类:Mono Compiler as a Service在运行时重新编译ASP.NET MVC站点?

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

但它仅适用于控制器。那里的任何人都可以阐明是否可以在运行时评估整个项目吗?虽然这意味着更少的编译时错误检查,但它仍然可以提高生产力。

+1

为什么它会提高生产力?听起来就像你在提供预编译语言的所有优点时很少得到回报。 – 2011-05-10 02:53:35

+0

我经常在大型项目上工作 - 在改变课程中的单行之后重新编译整个项目看起来很浪费。每当我使用Python之类的语言时,我都喜欢能够立即重新加载。我认为你没有失去任何优势 - 大概是(在我可能想象的世界里,这是可行的),你可以点击构建,仍然可以进行编译时检查。但也有时只是快速改变和加载。 ASP.NET网站曾经能够做到这一点。 – Alastair 2011-05-10 02:55:04

+0

因此,而不是你等待它编译第一人打你的网站将不得不等待它编译? – R0MANARMY 2011-05-10 04:29:30

回答

0

这是可能的,如果你转换你的项目到网站项目(How to do it is described here),而不需要编译器动态编译你放入App_Code文件文件夹(包括控制器,自定义HTML和网址助手等)一切作为服务。

缺点是不能动态编译带有业务逻辑或数据库访问库的引用库。而且有一个明显的性能缺陷,可以通过IIS应用程序预热模块部分消除。有些人认为在生产服务器上部署所有源代码存在安全问题,但脚本世界(Ruby on Rails,python web framworks,php,node.js等)似乎并不太担心关于这个问题,并且就你不混淆你的DLL而言,你的知识产权的安全性没有太大的区别。

相关问题