我已经build立了以下网站:
安装程序启动后,Beta站点即可启动,但当禁用站点时,升级站点将接pipe。 如果这个网站偶然被closures的话,这也被做得更好。
部署顺序如下:
Beta Site网站(使升级页面可见) Beta Site 这是问题:
我需要一种方法来加热网站,而Beta Site没有启用,但我实际上无法击中该网站(因为它被禁用)。 我不希望该网站在可用之前启用,因为我们不希望我们的testing版用户体验与热身周期相关的长时间负载。
有一个非常酷的IIS模块,做了这样的事情,但它已经停产 ,不再支持。
有任何想法吗?
让我澄清一下。 当我的意思是禁用,我正在说的网站条目(端点如果你会),而不是应用程序池。
这个想法是在向用户提供更新页面的同时暖和网站。 一旦网站是温暖和良好的,那么它会翻转开关,以允许beta.mysite.com由现在温暖的应用程序池服务。
我知道通过调用页面来预热脚本,但是如果端点closures,我不能调用页面(所以升级页面/站点仍然可以在脚本预热站点的同时为用户提供服务)
不能同时“温暖”和禁用。 所有“温暖”的意思是说,它已经经过了网站,并加载了代码各个阶段所需的.DLL。 如果第一步closures并更新它,则不能进行预热。否则,您的代码和页面会变得很糟糕!
您需要启动站点的pipe理员运行快速的VB或PowerShell脚本来调用页面并获取热身开始。 网上有很多热身示例脚本。 他们用各种URL调用网站,然后忽略返回。
既然你有一个非常清晰的部署,我会写一个启用testing脚本来调出网站,然后做热身打击。
更新
既然你澄清了,让我添加一个build议。 如果您只closures站点而不是应用程序池,则可以将第二个站点指向同一文件目录并使用同一个池,但将该站点configuration为只能在高端口(也许只在本地)。 然后,您可以触摸该网站上的url,并通过点击该隐藏网站来完成大部分热身操作。