如何在Azure云服务上发布之前预编译Web应用程序

时间:2014-03-28 12:07:17

标签: asp.net-mvc-3 asp.net-mvc-4 azure asp.net-mvc-5 azure-web-roles

我在云服务上初始加载我的MVC3 .NET4.5应用程序的速度非常慢,当然,当游泳池每20分钟回收一次。

现在我可以扩展回收,但在我看来,只需在本地预先编译所有内容,然后将其打包并发布到云服务,这将是一个更好的解决方案。

如何在本地预编译,然后打包预编译的代码以进行发布?

由于

1 个答案:

答案 0 :(得分:2)

问题是Azure SDK附带的默认MSBuild脚本不包含预编译结果到服务包中。因此预编译应用程序不是问题,但是打包预编译结果是个问题。一种可能的解决方案是按照here所描述的那样就地预编译应用程序。

20分钟的空闲超时对Web角色没什么意义,所以值得简单地禁用它。接下来你将面临的是,当第一个请求到达时启动Web应用程序仍然需要一些时间,因为必须从磁盘加载大量代码并进行JIT编译,解决方法是使用IIS的“预热”功能或者只是从角色OnStart()内部向“localhost”发送请求。