我在云服务上初始加载我的MVC3 .NET4.5应用程序的速度非常慢,当然,当游泳池每20分钟回收一次。
现在我可以扩展回收,但在我看来,只需在本地预先编译所有内容,然后将其打包并发布到云服务,这将是一个更好的解决方案。
如何在本地预编译,然后打包预编译的代码以进行发布?
由于
答案 0 :(得分:2)
问题是Azure SDK附带的默认MSBuild脚本不包含预编译结果到服务包中。因此预编译应用程序不是问题,但是打包预编译结果是个问题。一种可能的解决方案是按照here所描述的那样就地预编译应用程序。
20分钟的空闲超时对Web角色没什么意义,所以值得简单地禁用它。接下来你将面临的是,当第一个请求到达时启动Web应用程序仍然需要一些时间,因为必须从磁盘加载大量代码并进行JIT编译,解决方法是使用IIS的“预热”功能或者只是从角色OnStart()
内部向“localhost”发送请求。