我在Azure网站上托管了一个MVC3,.NET4.5 asp.net Web应用程序。
我正在尝试“免费”,“共享”和“标准”缩放配置。
我注意到一段时间不事件后,编译后的代码会从内存中删除,或者应用程序池会被回收,从而迫使JIT重新编译。
我的主要问题是,在放弃已编译的代码并强制重新编译之前的时间段是什么?我认为这是应用程序池回收的结果吗?我在诸如DiscountASP之类的标准共享主机上遇到了这个问题。
我的第二个问题是:什么是最小化此问题的最佳方法,因为我不希望用户遇到重新编译的滞后?我最初的想法是预编译。
提前谢谢了。
编辑:
我在这里找到了一个相关的SO帖子:App pool timeout for azure web sites
但是,就像标准共享主机一样,它无法更改App Pool的回收利用。由于它是专用的,因此使用“标准”标度选项具有更大的灵活性。因此,目前可能的选择是:
1)预编译
2)使用“保持事件”的ping站点。
编辑2:
1)“保持活跃”的方法似乎正在奏效。我有一个10分钟的监视器正在运行。
最佳答案
我认为默认的闲置时间是20分钟。我还没有使用过网站,所以我不喜欢更改设置,但保持网站事件的一种快速方法是使用Pingdom之类的正常运行时间监控服务(在撰写本文时,您可以免费检查一个网站) ,这将定期对您的网站执行ping操作,并防止其变为空闲状态。
关于asp.net-mvc - Azure网站和ASP.NET,在回收应用程序池导致重新编译之前有多少闲置状态?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20845063/