2011-12-02 29 views
3

众包:我使用传统的经典ASP产品。为了完成事务结帐,我们打开一个iFrame(是的,我知道... blecht!),然后在iframe中的安全服务器上运行结帐服务器页面。结帐项目是一个ASP.NET Web应用程序。如何预热ASP.NET Web应用程序,以便在导航到启动时不需要很长时间?

下面是问题:应用程序的初始启动需要一点时间。有时候10秒。一旦升温,它再也不需要升温,并且一闪而过。我如何加快初始负载?

我的想法(这是一个doosey):当用户点击网站的经典区域时,在结账服务器上调用一个安全的Web服务来唤醒Web应用程序。然后,当用户实际击中该事物时,它被加热。

还有其他想法吗?

+0

从哪个版本的IIS服务? –

+0

IIS 6.0。我们很快迁移到7。 – crackedcornjimmy

+0

您是否调查了(或者您能够调查)为什么Checkout应用程序花了这么长的时间来初始化? – davidsleeps

回答

4

根据您的IIS版本,我可能会提出IIS 7.5预热模块,但看起来它已经停止使用。你可以做几件事情:

  1. 写服务(Windows服务,计划任务等)坪每X分钟或早晨一旦应用程序,以保持它活着或将其唤醒。
  2. 延长应用程序池的空闲超时时间
  3. 在第一次启动时会产生一个新线程(或启动一个弹出式下拉菜单,或者可以在后台启动的东西)当你用iframe浏览你的页面时,你会看到这个过程,然后一旦它得到响应就会关闭它。
+0

这些是一些甜蜜的想法。 – crackedcornjimmy

0

添加一个公共页面aspx或ashx页面,该页面返回一个说明时间的RSS源。然后订阅RSS Feed,例如Feedburner,它会调查RSS提要。由于RSS提要每次都有所不同,因此会更频繁地进行轮询。

在1.1中,您必须访问每一页以避免最初的编译税。我非常确定在2.0以上,你只需要访问一个页面,而不必是你关心的那个。

+0

在1.1什么? Asp.net? – crackedcornjimmy

+0

是的。从我见过的最近的市场份额统计中可以看出,运行ASP.NET 1.1的几率不到5% – MatthewMartin

+1

您应该是对的。 – crackedcornjimmy

相关问题