我正在 ASP.Net 2.0 中开发一个(相对较小的)网站。在交付可执行文件之前,我还使用 nAnt 对我的项目执行一些简单的调整。在目前的状态下,该网站是使用
进行“预编译”的
aspnet_compiler.exe -nologo -v ${Appname} -u ${target}
我注意到,在 IIS 池重新启动后(空闲关闭或回收后),应用程序最多需要 20 秒才能重新联机(并且达到 Application_start)。
当我直接在 Visual Studio 中调试时(启动需要 2 秒),我没有遇到同样的问题,所以我想知道 aspnet_compiler 是否真的是个好主意。
我在 MSDN 上找不到太多信息。您如何编译您的网站以用于生产?
最佳答案
确保:
- 您使用的是 Web 应用程序项目而不是网站项目,这将为您的代码生成一个预编译的二进制文件
- 您已关闭 web.config 文件中的调试代码生成 - 我想如果这与您使用 aspnet_compiler 时不同,代码可能会被重新编译
如果您尝试过这些,您也许可以尝试在程序集上运行 ngen 从而节省 JIT 时间?
关于c# - ASP.Net 上的预编译和启动时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56357/