当IIS上的cshtml页面发生变化时会发生什么?

时间:2012-09-25 10:15:44

标签: asp.net asp.net-mvc-3 razorgenerator

更具体地说,当需要cshtml时,会发生什么?我需要构建一个只有ashx和模板引擎的应用程序,没有 MVC 的东西,简单的渲染,但我不想放弃更改cshtml文件的功能苍蝇所以我以某种方式管理他们的重新编译,可能没有回收应用程序服务器加载和卸载AppDomains

在第一个请求中,我可以构建页面并将其加载到某种缓存中(如codeplex上的 RazorEngine ),然后重复使用它。当页面改变时,我应该改变页面,就是这样。

但据我所知,每个页面都会构建一个新的assembly,因此如果频繁更改(可能在我的环境中发生),将会加载大量的程序集。

问题是,

标准MVC的工作原理如何?  使用CodeDom,或直接使用IL而不创建新程序集?

现在我想到的一件事是,在构建assembly之后,它可以被反编译,然后直接在应用上加载IL,这是有意义的

如果不清楚,请进一步澄清! (欢迎任何对此Stackoverflow新手的建议

1 个答案:

答案 0 :(得分:0)

确定, 首先加载cshtml文件然后使用标准CSharp / VbCodeCompiler将文件压缩到它们自己的程序集中,据我所知,没有代码dom存在...