2011-05-10 51 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而言,你的知識產權的安全性沒有太大的區別。

相關問題